kts-component-invoice-operate 3.2.214 → 3.2.215

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 (250) hide show
  1. package/.dumi/theme/builtins/API.tsx +66 -66
  2. package/.editorconfig +16 -16
  3. package/.fatherrc.ts +4 -4
  4. package/.prettierignore +7 -7
  5. package/.prettierrc +11 -11
  6. package/.umirc.ts +8 -8
  7. package/README.md +9 -9
  8. package/dist/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/ImportGoods/index.d.ts +2 -0
  9. package/dist/index.esm.js +1 -0
  10. package/dist/index.js +1 -0
  11. package/docs/index.md +5 -5
  12. package/docs-dist/404.html +33 -33
  13. package/docs-dist/index.html +33 -33
  14. package/docs-dist/static/arrowDown.a1cbf0d8.svg +2 -2
  15. package/docs-dist/static/arrowUp.4c482054.svg +2 -2
  16. package/docs-dist/static/fork.5431267d.svg +11 -11
  17. package/docs-dist/static/plus.44013ce3.svg +11 -11
  18. package/docs-dist/static/plus.4fd1af30.svg +11 -11
  19. package/docs-dist/umi.css +18 -18
  20. package/index.html +12 -12
  21. package/package.json +62 -62
  22. package/src/Invoice/Invoice-digtal/_test/architecture/index.tsx +21 -21
  23. package/src/Invoice/Invoice-digtal/_test/disabled/index.tsx +40 -40
  24. package/src/Invoice/Invoice-digtal/_test/easiest/index.tsx +176 -174
  25. package/src/Invoice/Invoice-digtal/_test/freight/index.tsx +14574 -14574
  26. package/src/Invoice/Invoice-digtal/_test/header/index.tsx +84 -84
  27. package/src/Invoice/Invoice-digtal/_test/importGoods/index.tsx +868 -868
  28. package/src/Invoice/Invoice-digtal/_test/importStakeholder/index.tsx +18 -18
  29. package/src/Invoice/Invoice-digtal/_test/lineCredit/index.tsx +19 -19
  30. package/src/Invoice/Invoice-digtal/_test/prefab/index.tsx +150 -150
  31. package/src/Invoice/Invoice-digtal/_test/readOnly/index.tsx +55 -55
  32. package/src/Invoice/Invoice-digtal/_test/realEstateInfo/index.tsx +21 -21
  33. package/src/Invoice/Invoice-digtal/_test/stakeholder/index.tsx +12 -12
  34. package/src/Invoice/Invoice-digtal/_test/typeSelection/index.tsx +29 -29
  35. package/src/Invoice/Invoice-digtal/index.md +41 -41
  36. package/src/Invoice/InvoiceController/InvoiceControllerForm/index.ts +105 -105
  37. package/src/Invoice/InvoiceController/InvoiceControllerState/AutoComplete/index.ts +26 -26
  38. package/src/Invoice/InvoiceController/InvoiceControllerState/BuyerState/index.tsx +88 -88
  39. package/src/Invoice/InvoiceController/InvoiceControllerState/FreightListState/IColumnsReplenish/index.ts +10 -10
  40. package/src/Invoice/InvoiceController/InvoiceControllerState/FreightListState/IGood/index.ts +33 -33
  41. package/src/Invoice/InvoiceController/InvoiceControllerState/FreightListState/ImportGoods/index.ts +81 -81
  42. package/src/Invoice/InvoiceController/InvoiceControllerState/FreightListState/index.ts +39 -39
  43. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/Drag/index.ts +15 -15
  44. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/EndowCode/index.tsx +104 -104
  45. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/IColumnsReplenish/index.ts +10 -10
  46. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/IGood/index.ts +87 -87
  47. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/ImportGoods/index.ts +84 -81
  48. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/LineAttributeType/index.ts +7 -7
  49. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/ProductComparison/index.ts +9 -9
  50. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/index.ts +131 -131
  51. package/src/Invoice/InvoiceController/InvoiceControllerState/Stakeholder/index.ts +13 -13
  52. package/src/Invoice/InvoiceController/InvoiceControllerState/index.ts +71 -71
  53. package/src/Invoice/InvoiceController/fns/addFreight.ts +11 -11
  54. package/src/Invoice/InvoiceController/fns/addGood.ts +11 -11
  55. package/src/Invoice/InvoiceController/fns/addGoodDiscount.ts +126 -126
  56. package/src/Invoice/InvoiceController/fns/addGoodDiscountV2.ts +86 -86
  57. package/src/Invoice/InvoiceController/fns/delFreight.ts +38 -38
  58. package/src/Invoice/InvoiceController/fns/delGood.ts +41 -41
  59. package/src/Invoice/InvoiceController/fns/getGoodsSearch.ts +26 -26
  60. package/src/Invoice/InvoiceController/fns/importGoodsDrawer.ts +79 -79
  61. package/src/Invoice/InvoiceController/fns/itemBlur.ts +40 -40
  62. package/src/Invoice/InvoiceController/fns/mergeDetails.ts +201 -201
  63. package/src/Invoice/InvoiceController/fns/mergeDiscount.ts +35 -35
  64. package/src/Invoice/InvoiceController/fns/saveEditFreight.ts +24 -24
  65. package/src/Invoice/InvoiceController/fns/saveEditGood.ts +24 -24
  66. package/src/Invoice/InvoiceController/fns/setEditFreight.ts +16 -16
  67. package/src/Invoice/InvoiceController/fns/setEditGood.ts +16 -16
  68. package/src/Invoice/InvoiceController/fns/setFreight.ts +10 -10
  69. package/src/Invoice/InvoiceController/fns/setGoods.ts +10 -10
  70. package/src/Invoice/InvoiceController/fns/updateInvoiceNo.ts +8 -8
  71. package/src/Invoice/InvoiceController/index.ts +106 -106
  72. package/src/Invoice/_test/buyerNameSearch/index.tsx +42 -42
  73. package/src/Invoice/_test/children/index.tsx +214 -214
  74. package/src/Invoice/_test/deduction/index.tsx +935 -935
  75. package/src/Invoice/_test/draft/index.tsx +40 -40
  76. package/src/Invoice/_test/easiest/index.tsx +5 -5
  77. package/src/Invoice/_test/endowCode/index.tsx +1158 -1158
  78. package/src/Invoice/_test/goodsMenuExpand/index.tsx +32 -32
  79. package/src/Invoice/_test/importBuyer/index.tsx +74 -74
  80. package/src/Invoice/_test/importGoods/index.tsx +1197 -1197
  81. package/src/Invoice/_test/invoiceType/index.tsx +59 -59
  82. package/src/Invoice/_test/isInvoiceNo/index.tsx +12 -12
  83. package/src/Invoice/_test/replaceHead/index.tsx +22 -22
  84. package/src/Invoice/_test/retrieveData/index.tsx +22 -22
  85. package/src/Invoice/_test/seller/index.tsx +28 -28
  86. package/src/Invoice/_test/setDataSource/index.tsx +73 -73
  87. package/src/Invoice/_test/unit/index.tsx +19 -19
  88. package/src/Invoice/index.less +31 -31
  89. package/src/Invoice/index.md +56 -56
  90. package/src/Invoice/index.tsx +197 -197
  91. package/src/Invoice/tools/calculate/index.ts +144 -144
  92. package/src/Invoice/tools/coolingFn/index.ts +17 -17
  93. package/src/Invoice/tools/evaluate/index.ts +7 -7
  94. package/src/Invoice/tools/idGenerator/index.ts +2 -2
  95. package/src/Invoice/tools/itemName/index.ts +55 -55
  96. package/src/Invoice/tools/lazyFn/index.ts +19 -19
  97. package/src/Invoice/tools/mounting/index.ts +13 -13
  98. package/src/Invoice/tools/strringFn/index.ts +40 -40
  99. package/src/Invoice/tools/useToGenerateId/index.ts +10 -10
  100. package/src/Invoice/tools/utils/index.ts +1 -1
  101. package/src/Invoice/tools/utils/money/index.ts +20 -20
  102. package/src/Invoice/ui/default/AddComparisonDrawer/index.tsx +149 -149
  103. package/src/Invoice/ui/default/Buyer/index.less +219 -219
  104. package/src/Invoice/ui/default/Buyer/index.tsx +114 -114
  105. package/src/Invoice/ui/default/Buyer/ui/BuyerNameInput/index.tsx +166 -166
  106. package/src/Invoice/ui/default/Buyer/ui/ImportBuyerButton/index.tsx +21 -21
  107. package/src/Invoice/ui/default/EndowCodeDrawer/index.less +8 -8
  108. package/src/Invoice/ui/default/EndowCodeDrawer/index.tsx +612 -612
  109. package/src/Invoice/ui/default/GoodsList/hook/useColumns/autoFillFn/index.ts +647 -647
  110. package/src/Invoice/ui/default/GoodsList/hook/useColumns/index.tsx +712 -712
  111. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/Drag/index.less +20 -20
  112. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/Drag/index.tsx +205 -205
  113. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/Expand/index.tsx +57 -57
  114. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemCodeInput/index.less +18 -18
  115. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemCodeInput/index.tsx +49 -49
  116. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemNameInput/index.less +17 -17
  117. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemNameInput/index.tsx +91 -91
  118. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowEditButton/index.tsx +30 -30
  119. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/_useAddComparison/index.tsx +43 -43
  120. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/useAddDiscount/index.tsx +118 -118
  121. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/useDelItem/dist/index.js +32 -32
  122. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/useDelItem/index.tsx +41 -41
  123. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/useEndowCode/index.tsx +25 -25
  124. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/index.less +13 -13
  125. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/index.tsx +99 -99
  126. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowSaveButton/index.tsx +14 -14
  127. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/TitleText/index.tsx +20 -20
  128. package/src/Invoice/ui/default/GoodsList/hook/useDeduction/index.tsx +24 -24
  129. package/src/Invoice/ui/default/GoodsList/hook/useOnRow/index.tsx +52 -52
  130. package/src/Invoice/ui/default/GoodsList/hook/useRowSelection/index.tsx +120 -120
  131. package/src/Invoice/ui/default/GoodsList/hook/useWindowClick/index.tsx +23 -23
  132. package/src/Invoice/ui/default/GoodsList/index.less +185 -185
  133. package/src/Invoice/ui/default/GoodsList/index.tsx +205 -205
  134. package/src/Invoice/ui/default/GoodsList/ui/AddRowButton/index.tsx +65 -65
  135. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/index.less +21 -21
  136. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/index.tsx +244 -244
  137. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useCommodityComparisonButton/index.tsx +75 -75
  138. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useDelRowButton/index.tsx +69 -69
  139. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useEndowCodeButton/index.tsx +65 -65
  140. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useMergeDetails/index.tsx +91 -91
  141. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useMergeDiscount/index.tsx +36 -36
  142. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useSalesDiscount/index.tsx +109 -109
  143. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useSalesGifts/index.tsx +94 -94
  144. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/index.tsx +37 -37
  145. package/src/Invoice/ui/default/GoodsList/ui/DescribeSwitch/index.tsx +36 -36
  146. package/src/Invoice/ui/default/GoodsList/ui/Search/index.less +10 -10
  147. package/src/Invoice/ui/default/GoodsList/ui/Search/index.tsx +52 -52
  148. package/src/Invoice/ui/default/GoodsList/ui/Statistics/index.less +18 -18
  149. package/src/Invoice/ui/default/GoodsList/ui/Statistics/index.tsx +114 -114
  150. package/src/Invoice/ui/default/GoodsList/ui/TableRow/index.less +40 -40
  151. package/src/Invoice/ui/default/GoodsList/ui/TableRow/index.tsx +71 -71
  152. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual/index.less +38 -38
  153. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual/index.tsx +130 -130
  154. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual.o/index.less +44 -44
  155. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual.o/index.tsx +96 -96
  156. package/src/Invoice/ui/default/GoodsList/ui/TaxIncludedSwitch/index.tsx +31 -31
  157. package/src/Invoice/ui/default/ImportBuyerDrawer/index.tsx +75 -75
  158. package/src/Invoice/ui/default/ImportGoodsDrawer/index.tsx +198 -198
  159. package/src/Invoice/ui/default/InvoiceHeader/index.less +68 -68
  160. package/src/Invoice/ui/default/InvoiceHeader/index.tsx +246 -246
  161. package/src/Invoice/ui/default/Seller/index.less +113 -113
  162. package/src/Invoice/ui/default/Seller/index.tsx +98 -98
  163. package/src/Invoice/ui/default/Sign/index.less +14 -14
  164. package/src/Invoice/ui/default/Sign/index.tsx +71 -71
  165. package/src/Invoice/ui/digtal/Architecture/index.less +18 -18
  166. package/src/Invoice/ui/digtal/Architecture/index.tsx +177 -177
  167. package/src/Invoice/ui/digtal/FreightList/hook/useColumns/dist/index.js +616 -616
  168. package/src/Invoice/ui/digtal/FreightList/hook/useColumns/index.tsx +246 -246
  169. package/src/Invoice/ui/digtal/FreightList/hook/useColumns/ui/TitleText/index.tsx +20 -20
  170. package/src/Invoice/ui/digtal/FreightList/hook/useOnRow/index.tsx +37 -37
  171. package/src/Invoice/ui/digtal/FreightList/hook/useRowSelection/index.tsx +119 -119
  172. package/src/Invoice/ui/digtal/FreightList/hook/useWindowClick/index.tsx +23 -23
  173. package/src/Invoice/ui/digtal/FreightList/index.less +72 -72
  174. package/src/Invoice/ui/digtal/FreightList/index.tsx +129 -129
  175. package/src/Invoice/ui/digtal/FreightList/ui/AddRowButton/index.tsx +74 -74
  176. package/src/Invoice/ui/digtal/FreightList/ui/BulkMenu/hooks/useDelRowButton/index.tsx +50 -50
  177. package/src/Invoice/ui/digtal/FreightList/ui/BulkMenu/hooks/useEmptyRefill/index.tsx +36 -36
  178. package/src/Invoice/ui/digtal/FreightList/ui/TableRow/index.less +28 -28
  179. package/src/Invoice/ui/digtal/FreightList/ui/TableRow/index.tsx +20 -20
  180. package/src/Invoice/ui/digtal/FreightList/ui/TableVirtual/index.less +38 -38
  181. package/src/Invoice/ui/digtal/FreightList/ui/TableVirtual/index.tsx +108 -108
  182. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/autoFillFn/index.ts +683 -683
  183. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/dist/index.js +616 -616
  184. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/index.tsx +703 -703
  185. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/svg/plus.svg +11 -11
  186. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/Drag/index.less +20 -20
  187. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/Drag/index.tsx +205 -205
  188. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/ItemNameInput/index.less +9 -9
  189. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/ItemNameInput/index.tsx +87 -87
  190. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowEditButton/index.tsx +30 -30
  191. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/_useAddComparison/index.tsx +43 -43
  192. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useAddDiscount/index.tsx +76 -76
  193. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useDelItem/index.tsx +41 -41
  194. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useEndowCode/index.tsx +34 -34
  195. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/index.less +13 -13
  196. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/index.tsx +98 -98
  197. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowSaveButton/index.tsx +14 -14
  198. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/TitleText/index.tsx +20 -20
  199. package/src/Invoice/ui/digtal/GoodsList/hook/useOnRow/index.tsx +51 -51
  200. package/src/Invoice/ui/digtal/GoodsList/hook/useRowSelection/index.tsx +121 -121
  201. package/src/Invoice/ui/digtal/GoodsList/hook/useWindowClick/index.tsx +23 -23
  202. package/src/Invoice/ui/digtal/GoodsList/index.less +56 -56
  203. package/src/Invoice/ui/digtal/GoodsList/index.tsx +179 -179
  204. package/src/Invoice/ui/digtal/GoodsList/ui/AddRowButton/index.tsx +77 -77
  205. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/index.tsx +340 -340
  206. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/svg/add.svg +11 -11
  207. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useCommodityComparisonButton/index.tsx +75 -75
  208. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useDelRowButton/index.tsx +50 -50
  209. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useEmptyRefill/index.tsx +37 -37
  210. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useEndowCodeButton/index.tsx +82 -82
  211. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useReselectInvoiceType/index.tsx +57 -57
  212. package/src/Invoice/ui/digtal/GoodsList/ui/DescribeSwitch/index.tsx +36 -36
  213. package/src/Invoice/ui/digtal/GoodsList/ui/Search/index.less +11 -11
  214. package/src/Invoice/ui/digtal/GoodsList/ui/Search/index.tsx +60 -60
  215. package/src/Invoice/ui/digtal/GoodsList/ui/Statistics/index.less +53 -53
  216. package/src/Invoice/ui/digtal/GoodsList/ui/Statistics/index.tsx +98 -98
  217. package/src/Invoice/ui/digtal/GoodsList/ui/Statistics/svg/fork.svg +11 -11
  218. package/src/Invoice/ui/digtal/GoodsList/ui/TableRow/index.less +28 -28
  219. package/src/Invoice/ui/digtal/GoodsList/ui/TableRow/index.tsx +52 -52
  220. package/src/Invoice/ui/digtal/GoodsList/ui/TableVirtual/index.less +38 -38
  221. package/src/Invoice/ui/digtal/GoodsList/ui/TableVirtual/index.tsx +108 -108
  222. package/src/Invoice/ui/digtal/GoodsList/ui/TaxIncludedSwitch/index.tsx +31 -31
  223. package/src/Invoice/ui/digtal/InvoiceHeader/index.less +57 -57
  224. package/src/Invoice/ui/digtal/InvoiceHeader/index.tsx +77 -77
  225. package/src/Invoice/ui/digtal/RealEstateInfo/index.less +14 -14
  226. package/src/Invoice/ui/digtal/RealEstateInfo/index.tsx +192 -192
  227. package/src/Invoice/ui/digtal/Sign/index.less +48 -48
  228. package/src/Invoice/ui/digtal/Sign/index.tsx +99 -99
  229. package/src/Invoice/ui/digtal/StakeFarmerholder/index.less +99 -99
  230. package/src/Invoice/ui/digtal/StakeFarmerholder/index.tsx +477 -477
  231. package/src/Invoice/ui/digtal/StakeFarmerholder/svg/arrowDown.svg +2 -2
  232. package/src/Invoice/ui/digtal/StakeFarmerholder/svg/arrowUp.svg +2 -2
  233. package/src/Invoice/ui/digtal/StakeFarmerholder/svg/plus.svg +11 -11
  234. package/src/Invoice/ui/digtal/Stakeholder/index.less +99 -99
  235. package/src/Invoice/ui/digtal/Stakeholder/index.tsx +435 -435
  236. package/src/Invoice/ui/digtal/Stakeholder/svg/arrowDown.svg +2 -2
  237. package/src/Invoice/ui/digtal/Stakeholder/svg/arrowUp.svg +2 -2
  238. package/src/Invoice/ui/digtal/Stakeholder/svg/plus.svg +11 -11
  239. package/src/InvoiceTypeModal/_test/easiest/index.tsx +31 -31
  240. package/src/InvoiceTypeModal/dist/index.js +92 -92
  241. package/src/InvoiceTypeModal/index.less +7 -7
  242. package/src/InvoiceTypeModal/index.md +5 -5
  243. package/src/InvoiceTypeModal/index.tsx +161 -161
  244. package/src/TaxClassificationCodeModal/_test/easiest/index.tsx +184 -184
  245. package/src/TaxClassificationCodeModal/index.less +17 -17
  246. package/src/TaxClassificationCodeModal/index.md +6 -6
  247. package/src/TaxClassificationCodeModal/index.tsx +152 -152
  248. package/src/index.ts +13 -13
  249. package/tsconfig.json +31 -31
  250. package/typings.d.ts +3 -3
@@ -1,109 +1,109 @@
1
-
2
- import React from "react"
3
- import { Button, message } from "kts-components-antd-x3"
4
- import { chain, bignumber } from 'mathjs';
5
- import Invoice from '../../../../../../..'
6
- import { LineAttributeType } from "../../../../../../../InvoiceController";
7
-
8
- /** 销售折让 */
9
- export default function useSalesDiscount() {
10
-
11
- const controller = Invoice.useInvoiceController();
12
-
13
- const selectedGoodIndex = controller.useMemo(s => s.goodsListState.selectedGoodIndex, []);
14
-
15
- const goodsList = controller.useMemo(s => s.goodsListState.goodsList, []);
16
-
17
- const isSalesDiscount = controller.useMemo(s => s.goodsListState.isSalesDiscount, []);
18
-
19
- const onClick = React.useCallback(async () => {
20
- const selectedGood = goodsList.filter(e => e.lineAttribute === LineAttributeType.折让行 || e.lineAttribute === LineAttributeType.正常);
21
-
22
- /** 折让行 */
23
- const concessions = selectedGood.filter(e => e?.lineAttribute === LineAttributeType.折让行);
24
-
25
- /** 准备添加折扣的货物列表 */
26
- const discountGood = selectedGood.filter(e => e?.lineAttribute !== LineAttributeType.折让行);
27
-
28
- /** 折扣总金额 */
29
- const totalDiscoline = (() => {
30
- let sum = chain(bignumber(0));
31
- concessions.forEach(e => { sum = sum.add(bignumber(-1 * (e.lineAmountIncludeTax || 0))) })
32
- return sum;
33
- })()
34
-
35
- let discolinesSum = chain(bignumber(0));
36
-
37
- /** 总金额 */
38
- const totalAmount = (() => {
39
- let sum = 0;
40
- discountGood.forEach(e => { sum += e?.lineAmountIncludeTax ?? 0 });
41
- return sum;
42
- })()
43
-
44
- // 每行的折扣金额
45
- const discolines: number[] = discountGood.map((e, i) => {
46
- // 折扣金额占比
47
- const share = chain(bignumber(e?.lineAmountIncludeTax ?? 0))
48
- .divide(bignumber(totalAmount));
49
-
50
- // 折扣金额
51
- const value = totalDiscoline
52
- .multiply(share.done())
53
-
54
- .multiply(bignumber(100))
55
- .round()
56
- .divide(bignumber(100))
57
-
58
- .done();
59
-
60
- discolinesSum = discolinesSum.add(value);
61
- return value.toNumber();
62
- });
63
-
64
- // 剩余折扣金额
65
- let surplus = totalDiscoline.subtract(discolinesSum.done());
66
-
67
- // 补充剩余折扣金
68
- for (let i = 0; i < discolines.length; i++) {
69
- if (surplus.smaller(0.01).done()) break;
70
- discolines[i] = chain(bignumber(discolines[i])).add(bignumber(0.01)).done().toNumber();
71
- surplus = surplus.subtract(bignumber(0.01));
72
- }
73
-
74
- // 清楚折让行
75
- await controller.run(async s => {
76
- concessions.forEach(concession => {
77
- s.goodsListState.goodsList = s.goodsListState.goodsList.filter(e => e.$index !== concession.$index)
78
- })
79
- })
80
- await controller.run(async s => { s.goodsListState.selectedGoodIndex = [] });
81
-
82
- // 给一组货物添加折扣行
83
- await controller.addGoodDiscountV2(discolines.map((e, i) => {
84
- return {
85
- $index: discountGood[i]?.$index as string,
86
- discolineAmountunt: e as number,
87
- }
88
- }))
89
- }, [controller, selectedGoodIndex, goodsList])
90
-
91
- const disabled = React.useMemo(() => goodsList.filter(e => e.lineAttribute === LineAttributeType.折让行).length <= 0, [goodsList])
92
-
93
- const button = React.useMemo(() => {
94
- if (!isSalesDiscount) return <></>;
95
- return (
96
- <Button
97
- onClick={onClick}
98
- disabled={disabled}
99
- >
100
- 销售折让
101
- </Button>
102
- )
103
- }, [selectedGoodIndex.length, isSalesDiscount, disabled])
104
-
105
- return {
106
- /** 按钮 */
107
- button,
108
- }
109
- }
1
+
2
+ import React from "react"
3
+ import { Button, message } from "kts-components-antd-x3"
4
+ import { chain, bignumber } from 'mathjs';
5
+ import Invoice from '../../../../../../..'
6
+ import { LineAttributeType } from "../../../../../../../InvoiceController";
7
+
8
+ /** 销售折让 */
9
+ export default function useSalesDiscount() {
10
+
11
+ const controller = Invoice.useInvoiceController();
12
+
13
+ const selectedGoodIndex = controller.useMemo(s => s.goodsListState.selectedGoodIndex, []);
14
+
15
+ const goodsList = controller.useMemo(s => s.goodsListState.goodsList, []);
16
+
17
+ const isSalesDiscount = controller.useMemo(s => s.goodsListState.isSalesDiscount, []);
18
+
19
+ const onClick = React.useCallback(async () => {
20
+ const selectedGood = goodsList.filter(e => e.lineAttribute === LineAttributeType.折让行 || e.lineAttribute === LineAttributeType.正常);
21
+
22
+ /** 折让行 */
23
+ const concessions = selectedGood.filter(e => e?.lineAttribute === LineAttributeType.折让行);
24
+
25
+ /** 准备添加折扣的货物列表 */
26
+ const discountGood = selectedGood.filter(e => e?.lineAttribute !== LineAttributeType.折让行);
27
+
28
+ /** 折扣总金额 */
29
+ const totalDiscoline = (() => {
30
+ let sum = chain(bignumber(0));
31
+ concessions.forEach(e => { sum = sum.add(bignumber(-1 * (e.lineAmountIncludeTax || 0))) })
32
+ return sum;
33
+ })()
34
+
35
+ let discolinesSum = chain(bignumber(0));
36
+
37
+ /** 总金额 */
38
+ const totalAmount = (() => {
39
+ let sum = 0;
40
+ discountGood.forEach(e => { sum += e?.lineAmountIncludeTax ?? 0 });
41
+ return sum;
42
+ })()
43
+
44
+ // 每行的折扣金额
45
+ const discolines: number[] = discountGood.map((e, i) => {
46
+ // 折扣金额占比
47
+ const share = chain(bignumber(e?.lineAmountIncludeTax ?? 0))
48
+ .divide(bignumber(totalAmount));
49
+
50
+ // 折扣金额
51
+ const value = totalDiscoline
52
+ .multiply(share.done())
53
+
54
+ .multiply(bignumber(100))
55
+ .round()
56
+ .divide(bignumber(100))
57
+
58
+ .done();
59
+
60
+ discolinesSum = discolinesSum.add(value);
61
+ return value.toNumber();
62
+ });
63
+
64
+ // 剩余折扣金额
65
+ let surplus = totalDiscoline.subtract(discolinesSum.done());
66
+
67
+ // 补充剩余折扣金
68
+ for (let i = 0; i < discolines.length; i++) {
69
+ if (surplus.smaller(0.01).done()) break;
70
+ discolines[i] = chain(bignumber(discolines[i])).add(bignumber(0.01)).done().toNumber();
71
+ surplus = surplus.subtract(bignumber(0.01));
72
+ }
73
+
74
+ // 清楚折让行
75
+ await controller.run(async s => {
76
+ concessions.forEach(concession => {
77
+ s.goodsListState.goodsList = s.goodsListState.goodsList.filter(e => e.$index !== concession.$index)
78
+ })
79
+ })
80
+ await controller.run(async s => { s.goodsListState.selectedGoodIndex = [] });
81
+
82
+ // 给一组货物添加折扣行
83
+ await controller.addGoodDiscountV2(discolines.map((e, i) => {
84
+ return {
85
+ $index: discountGood[i]?.$index as string,
86
+ discolineAmountunt: e as number,
87
+ }
88
+ }))
89
+ }, [controller, selectedGoodIndex, goodsList])
90
+
91
+ const disabled = React.useMemo(() => goodsList.filter(e => e.lineAttribute === LineAttributeType.折让行).length <= 0, [goodsList])
92
+
93
+ const button = React.useMemo(() => {
94
+ if (!isSalesDiscount) return <></>;
95
+ return (
96
+ <Button
97
+ onClick={onClick}
98
+ disabled={disabled}
99
+ >
100
+ 销售折让
101
+ </Button>
102
+ )
103
+ }, [selectedGoodIndex.length, isSalesDiscount, disabled])
104
+
105
+ return {
106
+ /** 按钮 */
107
+ button,
108
+ }
109
+ }
@@ -1,95 +1,95 @@
1
-
2
- import React from "react";
3
- import { Button, message } from "kts-components-antd-x3";
4
- import { Dropdown, MenuProps } from "kts-xui";
5
- import Invoice from '../../../../../../..'
6
- import { IGood, LineAttributeType } from "../../../../../../../InvoiceController";
7
-
8
- /** 销售赠品 */
9
- export default function useSalesGifts() {
10
-
11
- const controller = Invoice.useInvoiceController();
12
-
13
- const isSalesGifts = controller.useMemo(s => s.goodsListState.isSalesGifts, []);
14
-
15
- const selectedGoodIndex = controller.useMemo(s => s.goodsListState.selectedGoodIndex, []);
16
-
17
- const goodsList = controller.useMemo(s => s.goodsListState.goodsList, [])
18
-
19
- const giveaways = React.useMemo(() => goodsList.filter(e => e.lineAttribute === LineAttributeType.赠品行), [goodsList])
20
-
21
- const onClickAuto = React.useCallback(async () => {
22
- await controller.saveEditGood();
23
- await controller.wait();
24
- if (controller.state.goodsListState.editGood) return;
25
- for (let g of giveaways) {
26
- g.lineAttribute = LineAttributeType.正常;
27
- await controller.addGoodDiscountV2([{ $index: g.$index, discolineAmountunt: g.lineAmountIncludeTax || 0 }]);
28
- }
29
- }, [controller, giveaways])
30
-
31
- const onClickManual = React.useCallback(async () => {
32
- try {
33
- await controller.saveEditGood();
34
- await controller.wait();
35
- if (controller.state.goodsListState.editGood) return;
36
- const { goodsMap, selectedGoodIndex } = controller.state.goodsListState;
37
- const giveaways = selectedGoodIndex.map(e => goodsMap.get(e) as IGood).filter(e => !!e);
38
-
39
- await checkLineAttribute(giveaways);
40
-
41
- for (let g of giveaways) {
42
- await controller.addGoodDiscountV2([{ $index: g.$index, discolineAmountunt: g.lineAmountIncludeTax || 0 }]);
43
- }
44
-
45
- controller.state.goodsListState.selectedGoodIndex = [];
46
- } catch (error) {
47
-
48
- }
49
- }, [controller])
50
-
51
- const items: MenuProps['items'] = React.useMemo(() => {
52
- return [
53
- {
54
- key: '0',
55
- label: '处理全部行',
56
- disabled: giveaways.length <= 0,
57
- onClick: onClickAuto,
58
- }, {
59
- key: '1',
60
- label: '处理选中行',
61
- disabled: selectedGoodIndex.length <= 0,
62
- onClick: onClickManual,
63
- },
64
- ];
65
- }, [selectedGoodIndex, onClickManual, onClickAuto])
66
-
67
- const button = React.useMemo(() => {
68
- if (!isSalesGifts) return;
69
- return (
70
- <Dropdown menu={{ items }} trigger={['click']} >
71
- <Button>
72
- 销售赠品
73
- </Button>
74
- </Dropdown>
75
- )
76
- }, [items, isSalesGifts])
77
-
78
- return {
79
- /** 按钮 */
80
- button,
81
- }
82
- }
83
-
84
- /** 只能选择‘赠品行’和‘正常行’ */
85
- function checkLineAttribute(giveaways: IGood[]) {
86
- giveaways.forEach(e => {
87
- if (e.lineAttribute === LineAttributeType.正常 || e.lineAttribute === LineAttributeType.赠品行) {
88
- return;
89
- } else {
90
- const content = '只能选择‘赠品行’和‘正常行’';
91
- message.error({ content, key: content });
92
- throw new Error(content);
93
- }
94
- })
1
+
2
+ import React from "react";
3
+ import { Button, message } from "kts-components-antd-x3";
4
+ import { Dropdown, MenuProps } from "kts-xui";
5
+ import Invoice from '../../../../../../..'
6
+ import { IGood, LineAttributeType } from "../../../../../../../InvoiceController";
7
+
8
+ /** 销售赠品 */
9
+ export default function useSalesGifts() {
10
+
11
+ const controller = Invoice.useInvoiceController();
12
+
13
+ const isSalesGifts = controller.useMemo(s => s.goodsListState.isSalesGifts, []);
14
+
15
+ const selectedGoodIndex = controller.useMemo(s => s.goodsListState.selectedGoodIndex, []);
16
+
17
+ const goodsList = controller.useMemo(s => s.goodsListState.goodsList, [])
18
+
19
+ const giveaways = React.useMemo(() => goodsList.filter(e => e.lineAttribute === LineAttributeType.赠品行), [goodsList])
20
+
21
+ const onClickAuto = React.useCallback(async () => {
22
+ await controller.saveEditGood();
23
+ await controller.wait();
24
+ if (controller.state.goodsListState.editGood) return;
25
+ for (let g of giveaways) {
26
+ g.lineAttribute = LineAttributeType.正常;
27
+ await controller.addGoodDiscountV2([{ $index: g.$index, discolineAmountunt: g.lineAmountIncludeTax || 0 }]);
28
+ }
29
+ }, [controller, giveaways])
30
+
31
+ const onClickManual = React.useCallback(async () => {
32
+ try {
33
+ await controller.saveEditGood();
34
+ await controller.wait();
35
+ if (controller.state.goodsListState.editGood) return;
36
+ const { goodsMap, selectedGoodIndex } = controller.state.goodsListState;
37
+ const giveaways = selectedGoodIndex.map(e => goodsMap.get(e) as IGood).filter(e => !!e);
38
+
39
+ await checkLineAttribute(giveaways);
40
+
41
+ for (let g of giveaways) {
42
+ await controller.addGoodDiscountV2([{ $index: g.$index, discolineAmountunt: g.lineAmountIncludeTax || 0 }]);
43
+ }
44
+
45
+ controller.state.goodsListState.selectedGoodIndex = [];
46
+ } catch (error) {
47
+
48
+ }
49
+ }, [controller])
50
+
51
+ const items: MenuProps['items'] = React.useMemo(() => {
52
+ return [
53
+ {
54
+ key: '0',
55
+ label: '处理全部行',
56
+ disabled: giveaways.length <= 0,
57
+ onClick: onClickAuto,
58
+ }, {
59
+ key: '1',
60
+ label: '处理选中行',
61
+ disabled: selectedGoodIndex.length <= 0,
62
+ onClick: onClickManual,
63
+ },
64
+ ];
65
+ }, [selectedGoodIndex, onClickManual, onClickAuto])
66
+
67
+ const button = React.useMemo(() => {
68
+ if (!isSalesGifts) return;
69
+ return (
70
+ <Dropdown menu={{ items }} trigger={['click']} >
71
+ <Button>
72
+ 销售赠品
73
+ </Button>
74
+ </Dropdown>
75
+ )
76
+ }, [items, isSalesGifts])
77
+
78
+ return {
79
+ /** 按钮 */
80
+ button,
81
+ }
82
+ }
83
+
84
+ /** 只能选择‘赠品行’和‘正常行’ */
85
+ function checkLineAttribute(giveaways: IGood[]) {
86
+ giveaways.forEach(e => {
87
+ if (e.lineAttribute === LineAttributeType.正常 || e.lineAttribute === LineAttributeType.赠品行) {
88
+ return;
89
+ } else {
90
+ const content = '只能选择‘赠品行’和‘正常行’';
91
+ message.error({ content, key: content });
92
+ throw new Error(content);
93
+ }
94
+ })
95
95
  }
@@ -1,38 +1,38 @@
1
-
2
- import React from "react";
3
- import { Button, Dropdown, Menu } from "kts-components-antd-x3";
4
-
5
- import useDelRowButton from "./hooks/useDelRowButton";
6
- import useAddDiscountRowButton from "./hooks/useAddDiscountRowButton";
7
- import useCommodityComparisonButton from "./hooks/useCommodityComparisonButton";
8
-
9
- export default function BulkMenu() {
10
-
11
- /** 删除行 */
12
- const delRowButton = useDelRowButton();
13
-
14
- /** 添加折扣行 */
15
- const addDiscountRowButton = useAddDiscountRowButton();
16
-
17
- /** 执行商品对照 */
18
- const commodityComparisonButton = useCommodityComparisonButton();
19
-
20
- const menu = (
21
- <Menu>
22
- {delRowButton.menuItem}
23
- {addDiscountRowButton.menuItem}
24
- {commodityComparisonButton.menuItem}
25
- </Menu>
26
- );
27
-
28
- return (
29
- <>
30
- <Dropdown overlay={menu}>
31
- <Button>
32
- 批量操作行
33
- </Button>
34
- </Dropdown>
35
- {addDiscountRowButton.drawer}
36
- </>
37
- )
1
+
2
+ import React from "react";
3
+ import { Button, Dropdown, Menu } from "kts-components-antd-x3";
4
+
5
+ import useDelRowButton from "./hooks/useDelRowButton";
6
+ import useAddDiscountRowButton from "./hooks/useAddDiscountRowButton";
7
+ import useCommodityComparisonButton from "./hooks/useCommodityComparisonButton";
8
+
9
+ export default function BulkMenu() {
10
+
11
+ /** 删除行 */
12
+ const delRowButton = useDelRowButton();
13
+
14
+ /** 添加折扣行 */
15
+ const addDiscountRowButton = useAddDiscountRowButton();
16
+
17
+ /** 执行商品对照 */
18
+ const commodityComparisonButton = useCommodityComparisonButton();
19
+
20
+ const menu = (
21
+ <Menu>
22
+ {delRowButton.menuItem}
23
+ {addDiscountRowButton.menuItem}
24
+ {commodityComparisonButton.menuItem}
25
+ </Menu>
26
+ );
27
+
28
+ return (
29
+ <>
30
+ <Dropdown overlay={menu}>
31
+ <Button>
32
+ 批量操作行
33
+ </Button>
34
+ </Dropdown>
35
+ {addDiscountRowButton.drawer}
36
+ </>
37
+ )
38
38
  }
@@ -1,37 +1,37 @@
1
-
2
- import React from 'react';
3
- import { Switch, Icon, Tooltip } from 'kts-components-antd-x3';
4
- import Invoice from '../../../../..';
5
-
6
- export default () => {
7
-
8
- const controller = Invoice.useInvoiceController();
9
-
10
- const productComparison = controller.useMemo(s => s.goodsListState.productComparison, [])
11
-
12
- const isMyShow = controller.useMemo(s => s.goodsListState.isMyShow, []);
13
-
14
- const onChange = React.useCallback(e => {
15
- controller.run(async s => s.goodsListState.isMyShow = !s.goodsListState.isMyShow)
16
- }, [])
17
-
18
- if (!productComparison.onComply) return <></>;
19
-
20
- return (
21
- <span>
22
- <label style={{ marginRight: 2 }} >
23
- <Tooltip title="蓝色代表我方商品描述,黑色代表对方的商品描述。">
24
- <Icon style={{ marginRight: 3 }} type="info-circle" />
25
- </Tooltip>
26
- 使用哪方商品描述:
27
- </label>
28
- <Switch
29
- checked={isMyShow}
30
- checkedChildren="我方"
31
- unCheckedChildren="对方"
32
- defaultChecked
33
- onChange={onChange}
34
- />
35
- </span>
36
- )
1
+
2
+ import React from 'react';
3
+ import { Switch, Icon, Tooltip } from 'kts-components-antd-x3';
4
+ import Invoice from '../../../../..';
5
+
6
+ export default () => {
7
+
8
+ const controller = Invoice.useInvoiceController();
9
+
10
+ const productComparison = controller.useMemo(s => s.goodsListState.productComparison, [])
11
+
12
+ const isMyShow = controller.useMemo(s => s.goodsListState.isMyShow, []);
13
+
14
+ const onChange = React.useCallback(e => {
15
+ controller.run(async s => s.goodsListState.isMyShow = !s.goodsListState.isMyShow)
16
+ }, [])
17
+
18
+ if (!productComparison.onComply) return <></>;
19
+
20
+ return (
21
+ <span>
22
+ <label style={{ marginRight: 2 }} >
23
+ <Tooltip title="蓝色代表我方商品描述,黑色代表对方的商品描述。">
24
+ <Icon style={{ marginRight: 3 }} type="info-circle" />
25
+ </Tooltip>
26
+ 使用哪方商品描述:
27
+ </label>
28
+ <Switch
29
+ checked={isMyShow}
30
+ checkedChildren="我方"
31
+ unCheckedChildren="对方"
32
+ defaultChecked
33
+ onChange={onChange}
34
+ />
35
+ </span>
36
+ )
37
37
  }
@@ -1,11 +1,11 @@
1
- .kts-invoice-operate-goods-list-able-list {
2
- .kts-invoice-operate-goods-list-search {
3
- width: 350px;
4
-
5
- input {
6
- border-radius: 999px;
7
- border-color : #b8b8b8;
8
- font-size : 12px;
9
- }
10
- }
1
+ .kts-invoice-operate-goods-list-able-list {
2
+ .kts-invoice-operate-goods-list-search {
3
+ width: 350px;
4
+
5
+ input {
6
+ border-radius: 999px;
7
+ border-color : #b8b8b8;
8
+ font-size : 12px;
9
+ }
10
+ }
11
11
  }