kts-component-invoice-operate 3.2.54 → 3.2.55

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 (199) 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/index.esm.js +7905 -5691
  9. package/dist/index.js +7905 -5691
  10. package/docs/index.md +5 -5
  11. package/docs-dist/static/arrowDown.a1cbf0d8.svg +2 -2
  12. package/docs-dist/static/arrowUp.4c482054.svg +2 -2
  13. package/docs-dist/static/fork.5431267d.svg +11 -11
  14. package/docs-dist/static/plus.44013ce3.svg +11 -11
  15. package/docs-dist/static/plus.4fd1af30.svg +11 -11
  16. package/index.html +12 -12
  17. package/package.json +60 -60
  18. package/src/Invoice/Invoice-digtal/_test/disabled/index.tsx +38 -38
  19. package/src/Invoice/Invoice-digtal/_test/easiest/index.tsx +16 -16
  20. package/src/Invoice/Invoice-digtal/_test/header/index.tsx +84 -84
  21. package/src/Invoice/Invoice-digtal/_test/importGoods/index.tsx +470 -470
  22. package/src/Invoice/Invoice-digtal/_test/importStakeholder/index.tsx +17 -17
  23. package/src/Invoice/Invoice-digtal/_test/lineCredit/index.tsx +20 -20
  24. package/src/Invoice/Invoice-digtal/_test/prefab/index.tsx +150 -150
  25. package/src/Invoice/Invoice-digtal/_test/readOnly/index.tsx +41 -41
  26. package/src/Invoice/Invoice-digtal/_test/stakeholder/index.tsx +12 -12
  27. package/src/Invoice/Invoice-digtal/_test/typeSelection/index.tsx +29 -29
  28. package/src/Invoice/Invoice-digtal/index.md +30 -30
  29. package/src/Invoice/InvoiceController/InvoiceControllerForm/index.ts +94 -94
  30. package/src/Invoice/InvoiceController/InvoiceControllerState/AutoComplete/index.ts +17 -17
  31. package/src/Invoice/InvoiceController/InvoiceControllerState/BuyerState/index.tsx +88 -88
  32. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/Drag/index.ts +12 -12
  33. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/EndowCode/index.tsx +93 -93
  34. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/IColumnsReplenish/index.ts +10 -10
  35. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/IGood/index.ts +75 -75
  36. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/ImportGoods/index.ts +80 -80
  37. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/LineAttributeType/index.ts +5 -5
  38. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/ProductComparison/index.ts +9 -9
  39. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/index.ts +107 -107
  40. package/src/Invoice/InvoiceController/InvoiceControllerState/Stakeholder/index.ts +10 -10
  41. package/src/Invoice/InvoiceController/InvoiceControllerState/index.ts +60 -60
  42. package/src/Invoice/InvoiceController/fns/addGood.ts +11 -11
  43. package/src/Invoice/InvoiceController/fns/addGoodDiscount.ts +125 -125
  44. package/src/Invoice/InvoiceController/fns/addGoodDiscountV2.ts +84 -84
  45. package/src/Invoice/InvoiceController/fns/delGood.ts +41 -41
  46. package/src/Invoice/InvoiceController/fns/getGoodsSearch.ts +26 -26
  47. package/src/Invoice/InvoiceController/fns/importGoodsDrawer.ts +79 -79
  48. package/src/Invoice/InvoiceController/fns/mergeDetails.ts +163 -163
  49. package/src/Invoice/InvoiceController/fns/mergeDiscount.ts +28 -28
  50. package/src/Invoice/InvoiceController/fns/saveEditGood.ts +24 -24
  51. package/src/Invoice/InvoiceController/fns/setEditGood.ts +16 -16
  52. package/src/Invoice/InvoiceController/fns/setGoods.ts +10 -10
  53. package/src/Invoice/InvoiceController/fns/updateInvoiceNo.ts +8 -8
  54. package/src/Invoice/InvoiceController/index.ts +77 -77
  55. package/src/Invoice/_test/buyerNameSearch/index.tsx +41 -41
  56. package/src/Invoice/_test/deduction/index.tsx +935 -935
  57. package/src/Invoice/_test/draft/index.tsx +40 -40
  58. package/src/Invoice/_test/easiest/index.tsx +5 -5
  59. package/src/Invoice/_test/endowCode/index.tsx +1099 -1099
  60. package/src/Invoice/_test/goodsMenuExpand/index.tsx +32 -32
  61. package/src/Invoice/_test/importBuyer/index.tsx +74 -74
  62. package/src/Invoice/_test/importGoods/index.tsx +515 -515
  63. package/src/Invoice/_test/invoiceType/index.tsx +59 -59
  64. package/src/Invoice/_test/isInvoiceNo/index.tsx +12 -12
  65. package/src/Invoice/_test/replaceHead/index.tsx +22 -22
  66. package/src/Invoice/_test/retrieveData/index.tsx +22 -22
  67. package/src/Invoice/_test/seller/index.tsx +28 -28
  68. package/src/Invoice/_test/setDataSource/index.tsx +73 -73
  69. package/src/Invoice/_test/unit/index.tsx +19 -19
  70. package/src/Invoice/index.less +29 -29
  71. package/src/Invoice/index.md +53 -53
  72. package/src/Invoice/index.tsx +165 -165
  73. package/src/Invoice/tools/calculate/index.ts +112 -112
  74. package/src/Invoice/tools/coolingFn/index.ts +17 -17
  75. package/src/Invoice/tools/evaluate/index.ts +7 -7
  76. package/src/Invoice/tools/idGenerator/index.ts +2 -2
  77. package/src/Invoice/tools/itemName/index.ts +55 -55
  78. package/src/Invoice/tools/lazyFn/index.ts +19 -19
  79. package/src/Invoice/tools/mounting/index.ts +13 -13
  80. package/src/Invoice/tools/strringFn/index.ts +40 -40
  81. package/src/Invoice/tools/useToGenerateId/index.ts +8 -8
  82. package/src/Invoice/ui/default/AddComparisonDrawer/index.tsx +149 -149
  83. package/src/Invoice/ui/default/Buyer/index.less +219 -219
  84. package/src/Invoice/ui/default/Buyer/index.tsx +114 -114
  85. package/src/Invoice/ui/default/Buyer/ui/BuyerNameInput/index.tsx +166 -166
  86. package/src/Invoice/ui/default/Buyer/ui/ImportBuyerButton/index.tsx +21 -21
  87. package/src/Invoice/ui/default/EndowCodeDrawer/index.less +8 -8
  88. package/src/Invoice/ui/default/EndowCodeDrawer/index.tsx +431 -431
  89. package/src/Invoice/ui/default/GoodsList/hook/useColumns/autoFillFn/index.ts +533 -533
  90. package/src/Invoice/ui/default/GoodsList/hook/useColumns/index.tsx +664 -664
  91. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/Drag/index.less +20 -20
  92. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/Drag/index.tsx +202 -202
  93. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemCodeInput/index.less +18 -18
  94. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemCodeInput/index.tsx +48 -48
  95. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemNameInput/index.less +17 -17
  96. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemNameInput/index.tsx +130 -130
  97. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowEditButton/index.tsx +30 -30
  98. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/_useAddComparison/index.tsx +43 -43
  99. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/useAddDiscount/index.tsx +76 -76
  100. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/useDelItem/index.tsx +41 -41
  101. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/useEndowCode/index.tsx +34 -34
  102. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/index.less +13 -13
  103. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/index.tsx +98 -98
  104. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowSaveButton/index.tsx +14 -14
  105. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/TitleText/index.tsx +20 -20
  106. package/src/Invoice/ui/default/GoodsList/hook/useDeduction/index.tsx +24 -24
  107. package/src/Invoice/ui/default/GoodsList/hook/useOnRow/index.tsx +39 -39
  108. package/src/Invoice/ui/default/GoodsList/hook/useRowSelection/index.tsx +111 -111
  109. package/src/Invoice/ui/default/GoodsList/hook/useWindowClick/index.tsx +23 -23
  110. package/src/Invoice/ui/default/GoodsList/index.less +177 -177
  111. package/src/Invoice/ui/default/GoodsList/index.tsx +191 -191
  112. package/src/Invoice/ui/default/GoodsList/ui/AddRowButton/index.tsx +65 -65
  113. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/index.less +21 -21
  114. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/index.tsx +244 -244
  115. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useCommodityComparisonButton/index.tsx +75 -75
  116. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useDelRowButton/index.tsx +69 -69
  117. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useEndowCodeButton/index.tsx +58 -58
  118. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useMergeDetails/index.tsx +37 -37
  119. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useMergeDiscount/index.tsx +36 -36
  120. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/index.tsx +37 -37
  121. package/src/Invoice/ui/default/GoodsList/ui/DescribeSwitch/index.tsx +36 -36
  122. package/src/Invoice/ui/default/GoodsList/ui/Search/index.less +10 -10
  123. package/src/Invoice/ui/default/GoodsList/ui/Search/index.tsx +52 -52
  124. package/src/Invoice/ui/default/GoodsList/ui/Statistics/index.less +18 -18
  125. package/src/Invoice/ui/default/GoodsList/ui/Statistics/index.tsx +109 -109
  126. package/src/Invoice/ui/default/GoodsList/ui/TableRow/index.less +13 -13
  127. package/src/Invoice/ui/default/GoodsList/ui/TableRow/index.tsx +46 -46
  128. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual/index.less +38 -38
  129. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual/index.tsx +108 -108
  130. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual.o/index.less +44 -44
  131. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual.o/index.tsx +96 -96
  132. package/src/Invoice/ui/default/GoodsList/ui/TaxIncludedSwitch/index.tsx +30 -30
  133. package/src/Invoice/ui/default/ImportBuyerDrawer/index.tsx +75 -75
  134. package/src/Invoice/ui/default/ImportGoodsDrawer/index.tsx +193 -193
  135. package/src/Invoice/ui/default/InvoiceHeader/index.less +68 -68
  136. package/src/Invoice/ui/default/InvoiceHeader/index.tsx +246 -246
  137. package/src/Invoice/ui/default/Seller/index.less +113 -113
  138. package/src/Invoice/ui/default/Seller/index.tsx +98 -98
  139. package/src/Invoice/ui/default/Sign/index.less +14 -14
  140. package/src/Invoice/ui/default/Sign/index.tsx +71 -71
  141. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/autoFillFn/index.ts +519 -519
  142. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/index.tsx +648 -648
  143. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/svg/plus.svg +11 -11
  144. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/Drag/index.less +20 -20
  145. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/Drag/index.tsx +186 -186
  146. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/ItemNameInput/index.less +9 -9
  147. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/ItemNameInput/index.tsx +50 -50
  148. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowEditButton/index.tsx +30 -30
  149. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/_useAddComparison/index.tsx +43 -43
  150. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useAddDiscount/index.tsx +76 -76
  151. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useDelItem/index.tsx +41 -41
  152. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useEndowCode/index.tsx +34 -34
  153. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/index.less +13 -13
  154. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/index.tsx +98 -98
  155. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowSaveButton/index.tsx +14 -14
  156. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/TitleText/index.tsx +20 -20
  157. package/src/Invoice/ui/digtal/GoodsList/hook/useOnRow/index.tsx +39 -39
  158. package/src/Invoice/ui/digtal/GoodsList/hook/useRowSelection/index.tsx +121 -121
  159. package/src/Invoice/ui/digtal/GoodsList/hook/useWindowClick/index.tsx +23 -23
  160. package/src/Invoice/ui/digtal/GoodsList/index.less +56 -56
  161. package/src/Invoice/ui/digtal/GoodsList/index.tsx +180 -180
  162. package/src/Invoice/ui/digtal/GoodsList/ui/AddRowButton/index.tsx +65 -65
  163. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/index.tsx +341 -341
  164. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/svg/add.svg +11 -11
  165. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useCommodityComparisonButton/index.tsx +75 -75
  166. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useDelRowButton/index.tsx +50 -50
  167. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useEmptyRefill/index.tsx +35 -35
  168. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useEndowCodeButton/index.tsx +82 -82
  169. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useReselectInvoiceType/index.tsx +57 -57
  170. package/src/Invoice/ui/digtal/GoodsList/ui/DescribeSwitch/index.tsx +36 -36
  171. package/src/Invoice/ui/digtal/GoodsList/ui/Search/index.less +11 -11
  172. package/src/Invoice/ui/digtal/GoodsList/ui/Search/index.tsx +50 -50
  173. package/src/Invoice/ui/digtal/GoodsList/ui/Statistics/index.less +53 -53
  174. package/src/Invoice/ui/digtal/GoodsList/ui/Statistics/index.tsx +99 -99
  175. package/src/Invoice/ui/digtal/GoodsList/ui/Statistics/svg/fork.svg +11 -11
  176. package/src/Invoice/ui/digtal/GoodsList/ui/TableRow/index.less +13 -13
  177. package/src/Invoice/ui/digtal/GoodsList/ui/TableRow/index.tsx +40 -40
  178. package/src/Invoice/ui/digtal/GoodsList/ui/TableVirtual/index.less +38 -38
  179. package/src/Invoice/ui/digtal/GoodsList/ui/TableVirtual/index.tsx +108 -108
  180. package/src/Invoice/ui/digtal/GoodsList/ui/TableVirtual.o/index.less +44 -44
  181. package/src/Invoice/ui/digtal/GoodsList/ui/TableVirtual.o/index.tsx +96 -96
  182. package/src/Invoice/ui/digtal/GoodsList/ui/TaxIncludedSwitch/index.tsx +30 -30
  183. package/src/Invoice/ui/digtal/InvoiceHeader/index.less +57 -57
  184. package/src/Invoice/ui/digtal/InvoiceHeader/index.tsx +77 -77
  185. package/src/Invoice/ui/digtal/Sign/index.less +48 -48
  186. package/src/Invoice/ui/digtal/Sign/index.tsx +89 -89
  187. package/src/Invoice/ui/digtal/Stakeholder/index.less +75 -75
  188. package/src/Invoice/ui/digtal/Stakeholder/index.tsx +388 -388
  189. package/src/Invoice/ui/digtal/Stakeholder/svg/arrowDown.svg +2 -2
  190. package/src/Invoice/ui/digtal/Stakeholder/svg/arrowUp.svg +2 -2
  191. package/src/Invoice/ui/digtal/Stakeholder/svg/plus.svg +11 -11
  192. package/src/InvoiceTypeModal/_test/easiest/index.tsx +31 -31
  193. package/src/InvoiceTypeModal/index.less +7 -7
  194. package/src/InvoiceTypeModal/index.md +5 -5
  195. package/src/InvoiceTypeModal/index.tsx +153 -153
  196. package/src/index.ts +9 -9
  197. package/tsconfig.json +31 -31
  198. package/typings.d.ts +3 -3
  199. package/yarn.e.lock +14331 -14331
@@ -1,12 +1,12 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" viewBox="0 0 16 15">
2
- <g clip-path="url(#clip0_715_360)">
3
- <path d="M8 14.5312C4.11687 14.5312 0.96875 11.3831 0.96875 7.5C0.96875 3.61687 4.11687 0.46875 8 0.46875C11.8831 0.46875 15.0312 3.61687 15.0312 7.5C15.0312 11.3831 11.8831 14.5312 8 14.5312ZM8 13.5938C11.3656 13.5938 14.0938 10.8656 14.0938 7.5C14.0938 4.13438 11.3656 1.40625 8 1.40625C4.63438 1.40625 1.90625 4.13438 1.90625 7.5C1.90625 10.8656 4.63438 13.5938 8 13.5938Z"/>
4
- <path d="M4.25 7.96875C4.12568 7.96875 4.00645 7.91936 3.91854 7.83146C3.83064 7.74355 3.78125 7.62432 3.78125 7.5C3.78125 7.37568 3.83064 7.25645 3.91854 7.16854C4.00645 7.08064 4.12568 7.03125 4.25 7.03125H11.75C11.8743 7.03125 11.9935 7.08064 12.0815 7.16854C12.1694 7.25645 12.2188 7.37568 12.2188 7.5C12.2188 7.62432 12.1694 7.74355 12.0815 7.83146C11.9935 7.91936 11.8743 7.96875 11.75 7.96875H4.25Z"/>
5
- <path d="M7.53125 3.75C7.53125 3.62568 7.58064 3.50645 7.66854 3.41854C7.75645 3.33064 7.87568 3.28125 8 3.28125C8.12432 3.28125 8.24355 3.33064 8.33146 3.41854C8.41936 3.50645 8.46875 3.62568 8.46875 3.75V11.25C8.46875 11.3743 8.41936 11.4935 8.33146 11.5815C8.24355 11.6694 8.12432 11.7188 8 11.7188C7.87568 11.7188 7.75645 11.6694 7.66854 11.5815C7.58064 11.4935 7.53125 11.3743 7.53125 11.25V3.75Z"/>
6
- </g>
7
- <defs>
8
- <clipPath id="clip0_715_360">
9
- <rect width="15" height="15" transform="translate(0.5)"/>
10
- </clipPath>
11
- </defs>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" viewBox="0 0 16 15">
2
+ <g clip-path="url(#clip0_715_360)">
3
+ <path d="M8 14.5312C4.11687 14.5312 0.96875 11.3831 0.96875 7.5C0.96875 3.61687 4.11687 0.46875 8 0.46875C11.8831 0.46875 15.0312 3.61687 15.0312 7.5C15.0312 11.3831 11.8831 14.5312 8 14.5312ZM8 13.5938C11.3656 13.5938 14.0938 10.8656 14.0938 7.5C14.0938 4.13438 11.3656 1.40625 8 1.40625C4.63438 1.40625 1.90625 4.13438 1.90625 7.5C1.90625 10.8656 4.63438 13.5938 8 13.5938Z"/>
4
+ <path d="M4.25 7.96875C4.12568 7.96875 4.00645 7.91936 3.91854 7.83146C3.83064 7.74355 3.78125 7.62432 3.78125 7.5C3.78125 7.37568 3.83064 7.25645 3.91854 7.16854C4.00645 7.08064 4.12568 7.03125 4.25 7.03125H11.75C11.8743 7.03125 11.9935 7.08064 12.0815 7.16854C12.1694 7.25645 12.2188 7.37568 12.2188 7.5C12.2188 7.62432 12.1694 7.74355 12.0815 7.83146C11.9935 7.91936 11.8743 7.96875 11.75 7.96875H4.25Z"/>
5
+ <path d="M7.53125 3.75C7.53125 3.62568 7.58064 3.50645 7.66854 3.41854C7.75645 3.33064 7.87568 3.28125 8 3.28125C8.12432 3.28125 8.24355 3.33064 8.33146 3.41854C8.41936 3.50645 8.46875 3.62568 8.46875 3.75V11.25C8.46875 11.3743 8.41936 11.4935 8.33146 11.5815C8.24355 11.6694 8.12432 11.7188 8 11.7188C7.87568 11.7188 7.75645 11.6694 7.66854 11.5815C7.58064 11.4935 7.53125 11.3743 7.53125 11.25V3.75Z"/>
6
+ </g>
7
+ <defs>
8
+ <clipPath id="clip0_715_360">
9
+ <rect width="15" height="15" transform="translate(0.5)"/>
10
+ </clipPath>
11
+ </defs>
12
12
  </svg>
@@ -1,21 +1,21 @@
1
- .kts-invoice-operate-goods-list-itemName-drag {
2
- cursor: all-scroll;
3
-
4
-
5
- }
6
-
7
- .kts-invoice-operate-goods-list-itemName-drag-div {
8
- z-index : 999;
9
- border : 1px solid #E6E6E6;
10
- width : 400px;
11
- height : 50px;
12
- display : flex;
13
- gap : 10px;
14
- align-items : center;
15
- position : fixed;
16
- padding : 0 20px;
17
- top : 100px;
18
- background : #fff;
19
- pointer-events: none;
20
- opacity : 0.4;
1
+ .kts-invoice-operate-goods-list-itemName-drag {
2
+ cursor: all-scroll;
3
+
4
+
5
+ }
6
+
7
+ .kts-invoice-operate-goods-list-itemName-drag-div {
8
+ z-index : 999;
9
+ border : 1px solid #E6E6E6;
10
+ width : 400px;
11
+ height : 50px;
12
+ display : flex;
13
+ gap : 10px;
14
+ align-items : center;
15
+ position : fixed;
16
+ padding : 0 20px;
17
+ top : 100px;
18
+ background : #fff;
19
+ pointer-events: none;
20
+ opacity : 0.4;
21
21
  }
@@ -1,187 +1,187 @@
1
-
2
- import React from "react";
3
- import Icon from '@ant-design/icons';
4
- import { ReactComponent as I001Svg } from './svg/I001.svg';
5
- import { Button } from "kts-components-antd-x3";
6
- import { IGood, Invoice } from '../../../../../../../..';
7
- import mounting from "../../../../../../../tools/mounting";
8
- import { LineAttributeType } from "../../../../../../../InvoiceController";
9
- import './index.less';
10
-
11
- export interface IDragProps {
12
- record: IGood
13
- }
14
-
15
- export default function Drag(props: IDragProps) {
16
-
17
- const { record } = props;
18
-
19
- const controller = Invoice.useInvoiceController();
20
-
21
- const editGood = controller.useMemo(s => s.goodsListState.editGood, []);
22
-
23
- const disabled = React.useMemo(() => !!editGood, [editGood]);
24
-
25
- const onMouseDown = React.useCallback(() => {
26
- if (!controller || !record) return;
27
- controller.run(async s => s.goodsListState.drag.current = record.$index);
28
-
29
- const rowList = window.document.querySelectorAll<HTMLDivElement>('.kts-invoice-operate-goods-list-digtal');
30
-
31
- const currentGood = controller.state.goodsListState.goodsList.filter(e => e.$index === record.$index)[0];
32
- mounting(<DragDiv {...currentGood} />)
33
-
34
- // 监听移动
35
- rowList.forEach(e => { e.addEventListener('mouseover', onMouseover) });
36
- function onMouseover(e: MouseEvent) {
37
- controller.run(async s => {
38
- const container = s.goodsListState.drag.container = getRow(e.target)?.dataset?.rowKey;
39
- if (!container) return;
40
-
41
- // 不可以插入自己
42
- if (container === s.goodsListState.drag.current) {
43
- s.goodsListState.drag.container = undefined;
44
- return;
45
- }
46
-
47
- const currentGood = s.goodsListState.drag.current && s.goodsListState.goodsMap.get(s.goodsListState.drag.current);
48
- if (!currentGood) return;
49
-
50
- const row = s.goodsListState.goodsMap.get(container);
51
- if (!row) return;
52
-
53
- // 折扣行 不可以插入 自己的被折扣行
54
- if (currentGood.lineAttribute === LineAttributeType.折扣行) {
55
- const currentIndex = s.goodsListState.goodsList.map(e => e.$index).indexOf(currentGood.$index)
56
- const containerIndex = s.goodsListState.goodsList.map(e => e.$index).indexOf(row.$index)
57
- if (currentIndex - 1 === containerIndex) {
58
- s.goodsListState.drag.container = undefined;
59
- return;
60
- }
61
- }
62
-
63
- // 被折扣行 不可以插入 自己的折扣行
64
- if (currentGood.lineAttribute === LineAttributeType.被折扣行) {
65
- const currentIndex = s.goodsListState.goodsList.map(e => e.$index).indexOf(currentGood.$index)
66
- const containerIndex = s.goodsListState.goodsList.map(e => e.$index).indexOf(row.$index)
67
- if (currentIndex + 1 === containerIndex) {
68
- s.goodsListState.drag.container = undefined;
69
- return;
70
- }
71
- }
72
-
73
- // 折扣行 拖动的 相当于 自己的 被折扣行
74
- if (row.lineAttribute === LineAttributeType.折扣行) {
75
- const t = s.goodsListState.goodsList.map(e => e.$index).indexOf(container) - 1;
76
- s.goodsListState.drag.container = s.goodsListState.goodsList[t].$index;
77
- }
78
- });
79
-
80
- const getRow = (t: any): any => {
81
- try {
82
- if (t.localName === 'tr') {
83
- return t;
84
- } else {
85
- return getRow(t.parentNode);
86
- }
87
- } catch (error) {
88
- return undefined
89
- }
90
- }
91
- }
92
-
93
- // 放开鼠标
94
- window.addEventListener('mouseup', onMouseup);
95
- function onMouseup() {
96
- insert();
97
- controller.run(async s => s.goodsListState.drag.current = undefined);
98
- window.removeEventListener('mouseup', onMouseup);
99
- rowList.forEach(e => { e.removeEventListener('mouseover', onMouseover) });
100
- // window.document.body.removeChild(rowDiv);
101
- }
102
-
103
- // 开始插入
104
- function insert() {
105
- mounting(<></>);
106
- controller.run(async s => {
107
- const { container, current } = s.goodsListState.drag;
108
- if (!container || !current) return;
109
- if (container !== current) {
110
- const goodsList = s.goodsListState.goodsList;
111
- const goodsMap = s.goodsListState.goodsMap;
112
- const currentGood = goodsList.filter(e => e.$index === current)[0];
113
- const currentIndex = goodsList.map(e => e.$index).indexOf(current);
114
-
115
- /** 需要移动的货品列表 */
116
- let moveGoods: string[] = [current];
117
- if (currentGood.lineAttribute === LineAttributeType.被折扣行) {
118
- moveGoods = [current, goodsList[currentIndex + 1].$index];
119
- } else if (currentGood.lineAttribute === LineAttributeType.折扣行) {
120
- moveGoods = [goodsList[currentIndex - 1].$index, current];
121
- }
122
-
123
- (() => {
124
- const g = s.goodsListState.goodsList.filter(e => moveGoods.indexOf(e.$index) < 0);
125
- const t = g.map(e => e.$index).indexOf(container);
126
- const m = moveGoods.map(e => goodsMap.get(e)).filter(e => !!e) as IGood[];
127
- s.goodsListState.goodsList = (g.splice.apply(g, [t, 0, ...m]), g);
128
- })()
129
-
130
- s.goodsListState.goodsMap = new Map();
131
- s.goodsListState.goodsList.forEach(e => { s.goodsListState.goodsMap.set(e.$index, e) });
132
- }
133
-
134
- s.goodsListState.drag.container = undefined;
135
- s.goodsListState.drag.current = undefined;
136
- })
137
- }
138
- }, [controller, record])
139
-
140
- return (
141
- <Button
142
- type='link'
143
- style={{ padding: 0 }}
144
- disabled={disabled}
145
- onMouseDown={onMouseDown}
146
- onClick={e => { e.stopPropagation() }}
147
- className={"kts-invoice-operate-goods-list-itemName-drag"}
148
- >
149
- <Icon component={I001Svg} />
150
- </Button>
151
- )
152
- }
153
-
154
- function DragDiv(props: IGood) {
155
-
156
- const [x, setX] = React.useState(0);
157
- const [y, setY] = React.useState(-110);
158
-
159
- const div = React.useMemo(() => window.document.querySelector(`[data-row-key="${props.$index}"]`), [props.$index])
160
-
161
- // 初始化位置
162
- React.useEffect(() => {
163
- if (!div) return;
164
- const rect = div.getBoundingClientRect();
165
- setX(rect.left + 135);
166
- setY(rect.top);
167
- }, [div])
168
-
169
- // 移动事件
170
- React.useEffect(() => {
171
-
172
- function onMousemove(e: MouseEvent) { setY(e.clientY - 25) };
173
-
174
- window.addEventListener('mousemove', onMousemove);
175
- return () => {
176
- window.removeEventListener('mousemove', onMousemove);
177
- }
178
- })
179
-
180
- return (
181
- <div className="kts-invoice-operate-goods-list-itemName-drag-div" style={{ top: y, left: x }} >
182
- <span>{props.itemName}</span>
183
- <span>{props.itemModelName}</span>
184
- <span>{props.unit}</span>
185
- </div>
186
- )
1
+
2
+ import React from "react";
3
+ import Icon from '@ant-design/icons';
4
+ import { ReactComponent as I001Svg } from './svg/I001.svg';
5
+ import { Button } from "kts-components-antd-x3";
6
+ import { IGood, Invoice } from '../../../../../../../..';
7
+ import mounting from "../../../../../../../tools/mounting";
8
+ import { LineAttributeType } from "../../../../../../../InvoiceController";
9
+ import './index.less';
10
+
11
+ export interface IDragProps {
12
+ record: IGood
13
+ }
14
+
15
+ export default function Drag(props: IDragProps) {
16
+
17
+ const { record } = props;
18
+
19
+ const controller = Invoice.useInvoiceController();
20
+
21
+ const editGood = controller.useMemo(s => s.goodsListState.editGood, []);
22
+
23
+ const disabled = React.useMemo(() => !!editGood, [editGood]);
24
+
25
+ const onMouseDown = React.useCallback(() => {
26
+ if (!controller || !record) return;
27
+ controller.run(async s => s.goodsListState.drag.current = record.$index);
28
+
29
+ const rowList = window.document.querySelectorAll<HTMLDivElement>('.kts-invoice-operate-goods-list-digtal');
30
+
31
+ const currentGood = controller.state.goodsListState.goodsList.filter(e => e.$index === record.$index)[0];
32
+ mounting(<DragDiv {...currentGood} />)
33
+
34
+ // 监听移动
35
+ rowList.forEach(e => { e.addEventListener('mouseover', onMouseover) });
36
+ function onMouseover(e: MouseEvent) {
37
+ controller.run(async s => {
38
+ const container = s.goodsListState.drag.container = getRow(e.target)?.dataset?.rowKey;
39
+ if (!container) return;
40
+
41
+ // 不可以插入自己
42
+ if (container === s.goodsListState.drag.current) {
43
+ s.goodsListState.drag.container = undefined;
44
+ return;
45
+ }
46
+
47
+ const currentGood = s.goodsListState.drag.current && s.goodsListState.goodsMap.get(s.goodsListState.drag.current);
48
+ if (!currentGood) return;
49
+
50
+ const row = s.goodsListState.goodsMap.get(container);
51
+ if (!row) return;
52
+
53
+ // 折扣行 不可以插入 自己的被折扣行
54
+ if (currentGood.lineAttribute === LineAttributeType.折扣行) {
55
+ const currentIndex = s.goodsListState.goodsList.map(e => e.$index).indexOf(currentGood.$index)
56
+ const containerIndex = s.goodsListState.goodsList.map(e => e.$index).indexOf(row.$index)
57
+ if (currentIndex - 1 === containerIndex) {
58
+ s.goodsListState.drag.container = undefined;
59
+ return;
60
+ }
61
+ }
62
+
63
+ // 被折扣行 不可以插入 自己的折扣行
64
+ if (currentGood.lineAttribute === LineAttributeType.被折扣行) {
65
+ const currentIndex = s.goodsListState.goodsList.map(e => e.$index).indexOf(currentGood.$index)
66
+ const containerIndex = s.goodsListState.goodsList.map(e => e.$index).indexOf(row.$index)
67
+ if (currentIndex + 1 === containerIndex) {
68
+ s.goodsListState.drag.container = undefined;
69
+ return;
70
+ }
71
+ }
72
+
73
+ // 折扣行 拖动的 相当于 自己的 被折扣行
74
+ if (row.lineAttribute === LineAttributeType.折扣行) {
75
+ const t = s.goodsListState.goodsList.map(e => e.$index).indexOf(container) - 1;
76
+ s.goodsListState.drag.container = s.goodsListState.goodsList[t].$index;
77
+ }
78
+ });
79
+
80
+ const getRow = (t: any): any => {
81
+ try {
82
+ if (t.localName === 'tr') {
83
+ return t;
84
+ } else {
85
+ return getRow(t.parentNode);
86
+ }
87
+ } catch (error) {
88
+ return undefined
89
+ }
90
+ }
91
+ }
92
+
93
+ // 放开鼠标
94
+ window.addEventListener('mouseup', onMouseup);
95
+ function onMouseup() {
96
+ insert();
97
+ controller.run(async s => s.goodsListState.drag.current = undefined);
98
+ window.removeEventListener('mouseup', onMouseup);
99
+ rowList.forEach(e => { e.removeEventListener('mouseover', onMouseover) });
100
+ // window.document.body.removeChild(rowDiv);
101
+ }
102
+
103
+ // 开始插入
104
+ function insert() {
105
+ mounting(<></>);
106
+ controller.run(async s => {
107
+ const { container, current } = s.goodsListState.drag;
108
+ if (!container || !current) return;
109
+ if (container !== current) {
110
+ const goodsList = s.goodsListState.goodsList;
111
+ const goodsMap = s.goodsListState.goodsMap;
112
+ const currentGood = goodsList.filter(e => e.$index === current)[0];
113
+ const currentIndex = goodsList.map(e => e.$index).indexOf(current);
114
+
115
+ /** 需要移动的货品列表 */
116
+ let moveGoods: string[] = [current];
117
+ if (currentGood.lineAttribute === LineAttributeType.被折扣行) {
118
+ moveGoods = [current, goodsList[currentIndex + 1].$index];
119
+ } else if (currentGood.lineAttribute === LineAttributeType.折扣行) {
120
+ moveGoods = [goodsList[currentIndex - 1].$index, current];
121
+ }
122
+
123
+ (() => {
124
+ const g = s.goodsListState.goodsList.filter(e => moveGoods.indexOf(e.$index) < 0);
125
+ const t = g.map(e => e.$index).indexOf(container);
126
+ const m = moveGoods.map(e => goodsMap.get(e)).filter(e => !!e) as IGood[];
127
+ s.goodsListState.goodsList = (g.splice.apply(g, [t, 0, ...m]), g);
128
+ })()
129
+
130
+ s.goodsListState.goodsMap = new Map();
131
+ s.goodsListState.goodsList.forEach(e => { s.goodsListState.goodsMap.set(e.$index, e) });
132
+ }
133
+
134
+ s.goodsListState.drag.container = undefined;
135
+ s.goodsListState.drag.current = undefined;
136
+ })
137
+ }
138
+ }, [controller, record])
139
+
140
+ return (
141
+ <Button
142
+ type='link'
143
+ style={{ padding: 0 }}
144
+ disabled={disabled}
145
+ onMouseDown={onMouseDown}
146
+ onClick={e => { e.stopPropagation() }}
147
+ className={"kts-invoice-operate-goods-list-itemName-drag"}
148
+ >
149
+ <Icon component={I001Svg} />
150
+ </Button>
151
+ )
152
+ }
153
+
154
+ function DragDiv(props: IGood) {
155
+
156
+ const [x, setX] = React.useState(0);
157
+ const [y, setY] = React.useState(-110);
158
+
159
+ const div = React.useMemo(() => window.document.querySelector(`[data-row-key="${props.$index}"]`), [props.$index])
160
+
161
+ // 初始化位置
162
+ React.useEffect(() => {
163
+ if (!div) return;
164
+ const rect = div.getBoundingClientRect();
165
+ setX(rect.left + 135);
166
+ setY(rect.top);
167
+ }, [div])
168
+
169
+ // 移动事件
170
+ React.useEffect(() => {
171
+
172
+ function onMousemove(e: MouseEvent) { setY(e.clientY - 25) };
173
+
174
+ window.addEventListener('mousemove', onMousemove);
175
+ return () => {
176
+ window.removeEventListener('mousemove', onMousemove);
177
+ }
178
+ })
179
+
180
+ return (
181
+ <div className="kts-invoice-operate-goods-list-itemName-drag-div" style={{ top: y, left: x }} >
182
+ <span>{props.itemName}</span>
183
+ <span>{props.itemModelName}</span>
184
+ <span>{props.unit}</span>
185
+ </div>
186
+ )
187
187
  }
@@ -1,10 +1,10 @@
1
- .kts-invoice-operate-goods-list-itemName-input {
2
- display : flex;
3
- flex : 1;
4
- padding-left: 0;
5
- height : 31px;
6
- }
7
-
8
- .has-error .kts-invoice-operate-goods-list-itemName-input{
9
- border: 1px solid #f5222d;
1
+ .kts-invoice-operate-goods-list-itemName-input {
2
+ display : flex;
3
+ flex : 1;
4
+ padding-left: 0;
5
+ height : 31px;
6
+ }
7
+
8
+ .has-error .kts-invoice-operate-goods-list-itemName-input{
9
+ border: 1px solid #f5222d;
10
10
  }
@@ -1,50 +1,50 @@
1
-
2
- import { AutoComplete, Input } from 'kts-xui';
3
- import React, { ChangeEvent } from 'react';
4
- import { IGood, Invoice } from '../../../../../../../..';
5
- import './index.less';
6
-
7
- export default function ItemNameInput(props: {
8
- onChange?: (e: ChangeEvent<HTMLInputElement>) => void,
9
- suffix?: React.ReactNode,
10
- value?: string,
11
- shorthand?: string
12
- }) {
13
-
14
- const controller = Invoice.useInvoiceController();
15
-
16
- const autoComplete = controller.useMemo(s => s.autoComplete, [])
17
-
18
- const [options, setOptions] = React.useState<IGood[]>([])
19
-
20
- const onChange = React.useCallback((e: ChangeEvent<HTMLInputElement>) => {
21
- const event = { ...e };
22
- props.onChange && props.onChange(event);
23
- }, [])
24
-
25
- const onChangeAutoComplete = React.useCallback(itemName => {
26
- const record = options.filter(e => e.itemName === itemName)[0] as any;
27
- if (!record) return;
28
- controller.importGoodsDrawer(record);
29
- }, [options, controller])
30
-
31
- const onSearch = React.useCallback(async (searchText: string) => {
32
- try {
33
- if (autoComplete.onItemNameSearch) {
34
- setOptions(await autoComplete.onItemNameSearch(searchText));
35
- }
36
- } catch (error) {
37
- setOptions([]);
38
- throw error;
39
- }
40
- }, [autoComplete.onItemNameSearch])
41
-
42
- return (
43
- <div className='kts-invoice-operate-goods-list-itemName-input'>
44
- {props.shorthand && <span style={{ alignSelf: 'center', fontSize: 12 }} >*{props.shorthand}*</span>}
45
- <AutoComplete onSearch={onSearch} value={props.value} options={options.map(e => ({ value: e.itemName }))} onSelect={onChangeAutoComplete} >
46
- <Input style={{ height: '100%' }} onChange={onChange} suffix={props.suffix} />
47
- </AutoComplete>
48
- </div>
49
- )
50
- }
1
+
2
+ import { AutoComplete, Input } from 'kts-xui';
3
+ import React, { ChangeEvent } from 'react';
4
+ import { IGood, Invoice } from '../../../../../../../..';
5
+ import './index.less';
6
+
7
+ export default function ItemNameInput(props: {
8
+ onChange?: (e: ChangeEvent<HTMLInputElement>) => void,
9
+ suffix?: React.ReactNode,
10
+ value?: string,
11
+ shorthand?: string
12
+ }) {
13
+
14
+ const controller = Invoice.useInvoiceController();
15
+
16
+ const autoComplete = controller.useMemo(s => s.autoComplete, [])
17
+
18
+ const [options, setOptions] = React.useState<IGood[]>([])
19
+
20
+ const onChange = React.useCallback((e: ChangeEvent<HTMLInputElement>) => {
21
+ const event = { ...e };
22
+ props.onChange && props.onChange(event);
23
+ }, [])
24
+
25
+ const onChangeAutoComplete = React.useCallback(itemName => {
26
+ const record = options.filter(e => e.itemName === itemName)[0] as any;
27
+ if (!record) return;
28
+ controller.importGoodsDrawer(record);
29
+ }, [options, controller])
30
+
31
+ const onSearch = React.useCallback(async (searchText: string) => {
32
+ try {
33
+ if (autoComplete.onItemNameSearch) {
34
+ setOptions(await autoComplete.onItemNameSearch(searchText));
35
+ }
36
+ } catch (error) {
37
+ setOptions([]);
38
+ throw error;
39
+ }
40
+ }, [autoComplete.onItemNameSearch])
41
+
42
+ return (
43
+ <div className='kts-invoice-operate-goods-list-itemName-input'>
44
+ {props.shorthand && <span style={{ alignSelf: 'center', fontSize: 12 }} >*{props.shorthand}*</span>}
45
+ <AutoComplete onSearch={onSearch} value={props.value} options={options.map(e => ({ value: e.itemName }))} onSelect={onChangeAutoComplete} >
46
+ <Input style={{ height: '100%' }} onChange={onChange} suffix={props.suffix} />
47
+ </AutoComplete>
48
+ </div>
49
+ )
50
+ }
@@ -1,30 +1,30 @@
1
- import React from 'react';
2
- import { Button, message } from 'kts-components-antd-x3';
3
- import Invoice from '../../../../../../';
4
- import { IGood } from '../../../../../../InvoiceController';
5
- import LineAttributeType from '../../../../../../InvoiceController/InvoiceControllerState/GoodsListState/LineAttributeType';
6
-
7
- export default (props: { goods: IGood }) => {
8
- const { goods } = props;
9
-
10
- const controller = Invoice.useInvoiceController();
11
-
12
- const editGood = controller.useMemo((s) => s.goodsListState.editGood, []);
13
-
14
- const onClick = React.useCallback(() => {
15
- if (editGood) {
16
- message.error({
17
- content: '你正在编辑一个货物',
18
- key: '你正在编辑一个货物',
19
- });
20
- return;
21
- }
22
- controller.setEditGood(goods);
23
- }, [controller, goods, editGood]);
24
-
25
- if (goods.lineAttribute !== LineAttributeType.正常) {
26
- return <></>;
27
- } else {
28
- return <Button type="link" icon="edit" onClick={onClick} />;
29
- }
30
- };
1
+ import React from 'react';
2
+ import { Button, message } from 'kts-components-antd-x3';
3
+ import Invoice from '../../../../../../';
4
+ import { IGood } from '../../../../../../InvoiceController';
5
+ import LineAttributeType from '../../../../../../InvoiceController/InvoiceControllerState/GoodsListState/LineAttributeType';
6
+
7
+ export default (props: { goods: IGood }) => {
8
+ const { goods } = props;
9
+
10
+ const controller = Invoice.useInvoiceController();
11
+
12
+ const editGood = controller.useMemo((s) => s.goodsListState.editGood, []);
13
+
14
+ const onClick = React.useCallback(() => {
15
+ if (editGood) {
16
+ message.error({
17
+ content: '你正在编辑一个货物',
18
+ key: '你正在编辑一个货物',
19
+ });
20
+ return;
21
+ }
22
+ controller.setEditGood(goods);
23
+ }, [controller, goods, editGood]);
24
+
25
+ if (goods.lineAttribute !== LineAttributeType.正常) {
26
+ return <></>;
27
+ } else {
28
+ return <Button type="link" icon="edit" onClick={onClick} />;
29
+ }
30
+ };