kts-component-invoice-operate 3.2.103 → 3.2.104

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 (205) 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/ui/digtal/GoodsList/hook/useColumns/ui/ItemNameInput/index.d.ts +1 -0
  9. package/dist/index.esm.js +649 -583
  10. package/dist/index.js +649 -583
  11. package/docs/index.md +5 -5
  12. package/docs-dist/static/arrowDown.a1cbf0d8.svg +2 -2
  13. package/docs-dist/static/arrowUp.4c482054.svg +2 -2
  14. package/docs-dist/static/fork.5431267d.svg +11 -11
  15. package/docs-dist/static/plus.44013ce3.svg +11 -11
  16. package/docs-dist/static/plus.4fd1af30.svg +11 -11
  17. package/index.html +12 -12
  18. package/package.json +61 -61
  19. package/src/Invoice/Invoice-digtal/_test/disabled/index.tsx +38 -38
  20. package/src/Invoice/Invoice-digtal/_test/easiest/index.tsx +16 -16
  21. package/src/Invoice/Invoice-digtal/_test/header/index.tsx +84 -84
  22. package/src/Invoice/Invoice-digtal/_test/importGoods/index.tsx +554 -471
  23. package/src/Invoice/Invoice-digtal/_test/importStakeholder/index.tsx +17 -17
  24. package/src/Invoice/Invoice-digtal/_test/lineCredit/index.tsx +20 -20
  25. package/src/Invoice/Invoice-digtal/_test/prefab/index.tsx +150 -150
  26. package/src/Invoice/Invoice-digtal/_test/readOnly/index.tsx +42 -42
  27. package/src/Invoice/Invoice-digtal/_test/stakeholder/index.tsx +12 -12
  28. package/src/Invoice/Invoice-digtal/_test/typeSelection/index.tsx +29 -29
  29. package/src/Invoice/Invoice-digtal/index.md +30 -30
  30. package/src/Invoice/InvoiceController/InvoiceControllerForm/index.ts +95 -95
  31. package/src/Invoice/InvoiceController/InvoiceControllerState/AutoComplete/index.ts +20 -20
  32. package/src/Invoice/InvoiceController/InvoiceControllerState/BuyerState/index.tsx +88 -88
  33. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/Drag/index.ts +15 -15
  34. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/EndowCode/index.tsx +104 -104
  35. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/IColumnsReplenish/index.ts +10 -10
  36. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/IGood/index.ts +78 -78
  37. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/ImportGoods/index.ts +80 -80
  38. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/LineAttributeType/index.ts +7 -7
  39. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/ProductComparison/index.ts +9 -9
  40. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/index.ts +113 -113
  41. package/src/Invoice/InvoiceController/InvoiceControllerState/Stakeholder/index.ts +13 -13
  42. package/src/Invoice/InvoiceController/InvoiceControllerState/index.ts +65 -65
  43. package/src/Invoice/InvoiceController/fns/addGood.ts +11 -11
  44. package/src/Invoice/InvoiceController/fns/addGoodDiscount.ts +126 -126
  45. package/src/Invoice/InvoiceController/fns/addGoodDiscountV2.ts +86 -86
  46. package/src/Invoice/InvoiceController/fns/delGood.ts +41 -41
  47. package/src/Invoice/InvoiceController/fns/getGoodsSearch.ts +26 -26
  48. package/src/Invoice/InvoiceController/fns/importGoodsDrawer.ts +79 -79
  49. package/src/Invoice/InvoiceController/fns/mergeDetails.ts +165 -165
  50. package/src/Invoice/InvoiceController/fns/mergeDiscount.ts +34 -34
  51. package/src/Invoice/InvoiceController/fns/saveEditGood.ts +24 -24
  52. package/src/Invoice/InvoiceController/fns/setEditGood.ts +16 -16
  53. package/src/Invoice/InvoiceController/fns/setGoods.ts +10 -10
  54. package/src/Invoice/InvoiceController/fns/updateInvoiceNo.ts +8 -8
  55. package/src/Invoice/InvoiceController/index.ts +77 -77
  56. package/src/Invoice/_test/buyerNameSearch/index.tsx +42 -42
  57. package/src/Invoice/_test/deduction/index.tsx +935 -935
  58. package/src/Invoice/_test/draft/index.tsx +40 -40
  59. package/src/Invoice/_test/easiest/index.tsx +5 -5
  60. package/src/Invoice/_test/endowCode/index.tsx +1156 -1156
  61. package/src/Invoice/_test/goodsMenuExpand/index.tsx +32 -32
  62. package/src/Invoice/_test/importBuyer/index.tsx +74 -74
  63. package/src/Invoice/_test/importGoods/index.tsx +1161 -516
  64. package/src/Invoice/_test/invoiceType/index.tsx +59 -59
  65. package/src/Invoice/_test/isInvoiceNo/index.tsx +12 -12
  66. package/src/Invoice/_test/replaceHead/index.tsx +22 -22
  67. package/src/Invoice/_test/retrieveData/index.tsx +22 -22
  68. package/src/Invoice/_test/seller/index.tsx +28 -28
  69. package/src/Invoice/_test/setDataSource/index.tsx +73 -73
  70. package/src/Invoice/_test/unit/index.tsx +19 -19
  71. package/src/Invoice/index.less +29 -29
  72. package/src/Invoice/index.md +53 -53
  73. package/src/Invoice/index.tsx +167 -167
  74. package/src/Invoice/tools/calculate/index.ts +112 -112
  75. package/src/Invoice/tools/coolingFn/index.ts +17 -17
  76. package/src/Invoice/tools/evaluate/index.ts +7 -7
  77. package/src/Invoice/tools/idGenerator/index.ts +2 -2
  78. package/src/Invoice/tools/itemName/index.ts +55 -55
  79. package/src/Invoice/tools/lazyFn/index.ts +19 -19
  80. package/src/Invoice/tools/mounting/index.ts +13 -13
  81. package/src/Invoice/tools/strringFn/index.ts +40 -40
  82. package/src/Invoice/tools/useToGenerateId/index.ts +8 -8
  83. package/src/Invoice/ui/default/AddComparisonDrawer/index.tsx +149 -149
  84. package/src/Invoice/ui/default/Buyer/index.less +219 -219
  85. package/src/Invoice/ui/default/Buyer/index.tsx +114 -114
  86. package/src/Invoice/ui/default/Buyer/ui/BuyerNameInput/index.tsx +166 -166
  87. package/src/Invoice/ui/default/Buyer/ui/ImportBuyerButton/index.tsx +21 -21
  88. package/src/Invoice/ui/default/EndowCodeDrawer/index.less +8 -8
  89. package/src/Invoice/ui/default/EndowCodeDrawer/index.tsx +543 -543
  90. package/src/Invoice/ui/default/GoodsList/hook/useColumns/autoFillFn/index.ts +533 -533
  91. package/src/Invoice/ui/default/GoodsList/hook/useColumns/index.tsx +687 -687
  92. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/Drag/index.less +20 -20
  93. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/Drag/index.tsx +205 -205
  94. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemCodeInput/index.less +18 -18
  95. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemCodeInput/index.tsx +47 -47
  96. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemNameInput/index.less +17 -17
  97. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemNameInput/index.tsx +89 -89
  98. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowEditButton/index.tsx +30 -30
  99. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/_useAddComparison/index.tsx +43 -43
  100. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/useAddDiscount/index.tsx +118 -118
  101. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/useDelItem/index.tsx +41 -41
  102. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/useEndowCode/index.tsx +25 -25
  103. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/index.less +13 -13
  104. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/index.tsx +98 -98
  105. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowSaveButton/index.tsx +14 -14
  106. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/TitleText/index.tsx +20 -20
  107. package/src/Invoice/ui/default/GoodsList/hook/useDeduction/index.tsx +24 -24
  108. package/src/Invoice/ui/default/GoodsList/hook/useOnRow/index.tsx +39 -39
  109. package/src/Invoice/ui/default/GoodsList/hook/useRowSelection/index.tsx +114 -114
  110. package/src/Invoice/ui/default/GoodsList/hook/useWindowClick/index.tsx +23 -23
  111. package/src/Invoice/ui/default/GoodsList/index.less +179 -179
  112. package/src/Invoice/ui/default/GoodsList/index.tsx +205 -205
  113. package/src/Invoice/ui/default/GoodsList/ui/AddRowButton/index.tsx +65 -65
  114. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/index.less +21 -21
  115. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/index.tsx +244 -244
  116. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useCommodityComparisonButton/index.tsx +75 -75
  117. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useDelRowButton/index.tsx +69 -69
  118. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useEndowCodeButton/index.tsx +65 -65
  119. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useMergeDetails/index.tsx +91 -91
  120. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useMergeDiscount/index.tsx +36 -36
  121. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useSalesDiscount/index.tsx +109 -109
  122. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useSalesGifts/index.tsx +88 -88
  123. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/index.tsx +37 -37
  124. package/src/Invoice/ui/default/GoodsList/ui/DescribeSwitch/index.tsx +36 -36
  125. package/src/Invoice/ui/default/GoodsList/ui/Search/index.less +10 -10
  126. package/src/Invoice/ui/default/GoodsList/ui/Search/index.tsx +52 -52
  127. package/src/Invoice/ui/default/GoodsList/ui/Statistics/index.less +18 -18
  128. package/src/Invoice/ui/default/GoodsList/ui/Statistics/index.tsx +113 -113
  129. package/src/Invoice/ui/default/GoodsList/ui/TableRow/index.less +28 -28
  130. package/src/Invoice/ui/default/GoodsList/ui/TableRow/index.tsx +57 -57
  131. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual/index.less +38 -38
  132. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual/index.tsx +108 -108
  133. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual.o/index.less +44 -44
  134. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual.o/index.tsx +96 -96
  135. package/src/Invoice/ui/default/GoodsList/ui/TaxIncludedSwitch/index.tsx +30 -30
  136. package/src/Invoice/ui/default/ImportBuyerDrawer/index.tsx +75 -75
  137. package/src/Invoice/ui/default/ImportGoodsDrawer/index.tsx +201 -201
  138. package/src/Invoice/ui/default/InvoiceHeader/index.less +68 -68
  139. package/src/Invoice/ui/default/InvoiceHeader/index.tsx +246 -246
  140. package/src/Invoice/ui/default/Seller/index.less +113 -113
  141. package/src/Invoice/ui/default/Seller/index.tsx +98 -98
  142. package/src/Invoice/ui/default/Sign/index.less +14 -14
  143. package/src/Invoice/ui/default/Sign/index.tsx +71 -71
  144. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/autoFillFn/index.ts +519 -519
  145. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/index.tsx +650 -649
  146. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/svg/plus.svg +11 -11
  147. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/Drag/index.less +20 -20
  148. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/Drag/index.tsx +205 -205
  149. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/ItemNameInput/index.less +9 -9
  150. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/ItemNameInput/index.tsx +78 -54
  151. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowEditButton/index.tsx +30 -30
  152. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/_useAddComparison/index.tsx +43 -43
  153. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useAddDiscount/index.tsx +76 -76
  154. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useDelItem/index.tsx +41 -41
  155. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useEndowCode/index.tsx +34 -34
  156. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/index.less +13 -13
  157. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/index.tsx +98 -98
  158. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowSaveButton/index.tsx +14 -14
  159. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/TitleText/index.tsx +20 -20
  160. package/src/Invoice/ui/digtal/GoodsList/hook/useOnRow/index.tsx +39 -39
  161. package/src/Invoice/ui/digtal/GoodsList/hook/useRowSelection/index.tsx +121 -121
  162. package/src/Invoice/ui/digtal/GoodsList/hook/useWindowClick/index.tsx +23 -23
  163. package/src/Invoice/ui/digtal/GoodsList/index.less +56 -56
  164. package/src/Invoice/ui/digtal/GoodsList/index.tsx +180 -180
  165. package/src/Invoice/ui/digtal/GoodsList/ui/AddRowButton/index.tsx +65 -65
  166. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/index.tsx +339 -339
  167. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/svg/add.svg +11 -11
  168. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useCommodityComparisonButton/index.tsx +75 -75
  169. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useDelRowButton/index.tsx +50 -50
  170. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useEmptyRefill/index.tsx +35 -35
  171. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useEndowCodeButton/index.tsx +82 -82
  172. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useReselectInvoiceType/index.tsx +57 -57
  173. package/src/Invoice/ui/digtal/GoodsList/ui/DescribeSwitch/index.tsx +36 -36
  174. package/src/Invoice/ui/digtal/GoodsList/ui/Search/index.less +11 -11
  175. package/src/Invoice/ui/digtal/GoodsList/ui/Search/index.tsx +50 -50
  176. package/src/Invoice/ui/digtal/GoodsList/ui/Statistics/index.less +53 -53
  177. package/src/Invoice/ui/digtal/GoodsList/ui/Statistics/index.tsx +99 -99
  178. package/src/Invoice/ui/digtal/GoodsList/ui/Statistics/svg/fork.svg +11 -11
  179. package/src/Invoice/ui/digtal/GoodsList/ui/TableRow/index.less +28 -28
  180. package/src/Invoice/ui/digtal/GoodsList/ui/TableRow/index.tsx +53 -53
  181. package/src/Invoice/ui/digtal/GoodsList/ui/TableVirtual/index.less +38 -38
  182. package/src/Invoice/ui/digtal/GoodsList/ui/TableVirtual/index.tsx +108 -108
  183. package/src/Invoice/ui/digtal/GoodsList/ui/TableVirtual.o/index.less +44 -44
  184. package/src/Invoice/ui/digtal/GoodsList/ui/TableVirtual.o/index.tsx +96 -96
  185. package/src/Invoice/ui/digtal/GoodsList/ui/TaxIncludedSwitch/index.tsx +30 -30
  186. package/src/Invoice/ui/digtal/InvoiceHeader/index.less +57 -57
  187. package/src/Invoice/ui/digtal/InvoiceHeader/index.tsx +77 -77
  188. package/src/Invoice/ui/digtal/Sign/index.less +48 -48
  189. package/src/Invoice/ui/digtal/Sign/index.tsx +99 -99
  190. package/src/Invoice/ui/digtal/Stakeholder/index.less +75 -75
  191. package/src/Invoice/ui/digtal/Stakeholder/index.tsx +394 -394
  192. package/src/Invoice/ui/digtal/Stakeholder/svg/arrowDown.svg +2 -2
  193. package/src/Invoice/ui/digtal/Stakeholder/svg/arrowUp.svg +2 -2
  194. package/src/Invoice/ui/digtal/Stakeholder/svg/plus.svg +11 -11
  195. package/src/InvoiceTypeModal/_test/easiest/index.tsx +31 -31
  196. package/src/InvoiceTypeModal/index.less +7 -7
  197. package/src/InvoiceTypeModal/index.md +5 -5
  198. package/src/InvoiceTypeModal/index.tsx +153 -153
  199. package/src/TaxClassificationCodeModal/_test/easiest/index.tsx +177 -177
  200. package/src/TaxClassificationCodeModal/index.md +6 -6
  201. package/src/TaxClassificationCodeModal/index.tsx +74 -74
  202. package/src/index.ts +12 -12
  203. package/tsconfig.json +31 -31
  204. package/typings.d.ts +3 -3
  205. package/yarn.e.lock +14331 -14331
@@ -1,75 +1,75 @@
1
- import React from 'react';
2
- import { Drawer, Table } from 'kts-components-antd-x3';
3
- import Invoice from '../../..';
4
-
5
- export default () => {
6
- const controller = Invoice.useInvoiceController();
7
-
8
- const visible = controller.useMemo((s) => s.buyerState.isVisibleDrawer, []);
9
-
10
- const topExpand = controller.useMemo((s) => s.buyerState.topExpand, []);
11
-
12
- // controller.pipeline(async s=>s.goodsListState.isTaxIncluded = true)()
13
-
14
- const onClose = React.useCallback(() => {
15
- controller.pipeline(async (s) => {
16
- s.buyerState.isVisibleDrawer = false;
17
- })();
18
- }, [controller]);
19
-
20
- return (
21
- <Drawer
22
- title="购方列表"
23
- placement="right"
24
- // closable={false}
25
- destroyOnClose={true}
26
- width={983}
27
- onClose={onClose}
28
- visible={visible}
29
- >
30
- {topExpand}
31
- <DrawerBody />
32
- </Drawer>
33
- );
34
- };
35
-
36
- const DrawerBody = () => {
37
- const controller = Invoice.useInvoiceController();
38
-
39
- const columns = controller.useMemo((e) => e.buyerState.columns, []);
40
-
41
- const dataSource = controller.useMemo((e) => e.buyerState.dataSource, []);
42
-
43
- const pagination = controller.useMemo((e) => e.buyerState.pagination, []);
44
-
45
- React.useEffect(() => {
46
- controller.getBuyerList &&
47
- controller.getBuyerList({ pagination: { current: 1 } });
48
- }, [controller]);
49
-
50
- return (
51
- <Table
52
- bordered
53
- size="small"
54
- columns={columns}
55
- dataSource={dataSource}
56
- pagination={pagination}
57
- onChange={(pagination) => {
58
- controller.getBuyerList && controller.getBuyerList({ pagination });
59
- }}
60
- onRow={(record) => {
61
- return {
62
- onClick: async () => {
63
- const re = await controller.state.buyerState.onRowClick(record);
64
- if (re) {
65
- controller.formList.get('buyer')?.setFieldsValue(re);
66
- controller.pipeline(async (s) => {
67
- s.buyerState.isVisibleDrawer = false;
68
- })();
69
- }
70
- },
71
- };
72
- }}
73
- />
74
- );
75
- };
1
+ import React from 'react';
2
+ import { Drawer, Table } from 'kts-components-antd-x3';
3
+ import Invoice from '../../..';
4
+
5
+ export default () => {
6
+ const controller = Invoice.useInvoiceController();
7
+
8
+ const visible = controller.useMemo((s) => s.buyerState.isVisibleDrawer, []);
9
+
10
+ const topExpand = controller.useMemo((s) => s.buyerState.topExpand, []);
11
+
12
+ // controller.pipeline(async s=>s.goodsListState.isTaxIncluded = true)()
13
+
14
+ const onClose = React.useCallback(() => {
15
+ controller.pipeline(async (s) => {
16
+ s.buyerState.isVisibleDrawer = false;
17
+ })();
18
+ }, [controller]);
19
+
20
+ return (
21
+ <Drawer
22
+ title="购方列表"
23
+ placement="right"
24
+ // closable={false}
25
+ destroyOnClose={true}
26
+ width={983}
27
+ onClose={onClose}
28
+ visible={visible}
29
+ >
30
+ {topExpand}
31
+ <DrawerBody />
32
+ </Drawer>
33
+ );
34
+ };
35
+
36
+ const DrawerBody = () => {
37
+ const controller = Invoice.useInvoiceController();
38
+
39
+ const columns = controller.useMemo((e) => e.buyerState.columns, []);
40
+
41
+ const dataSource = controller.useMemo((e) => e.buyerState.dataSource, []);
42
+
43
+ const pagination = controller.useMemo((e) => e.buyerState.pagination, []);
44
+
45
+ React.useEffect(() => {
46
+ controller.getBuyerList &&
47
+ controller.getBuyerList({ pagination: { current: 1 } });
48
+ }, [controller]);
49
+
50
+ return (
51
+ <Table
52
+ bordered
53
+ size="small"
54
+ columns={columns}
55
+ dataSource={dataSource}
56
+ pagination={pagination}
57
+ onChange={(pagination) => {
58
+ controller.getBuyerList && controller.getBuyerList({ pagination });
59
+ }}
60
+ onRow={(record) => {
61
+ return {
62
+ onClick: async () => {
63
+ const re = await controller.state.buyerState.onRowClick(record);
64
+ if (re) {
65
+ controller.formList.get('buyer')?.setFieldsValue(re);
66
+ controller.pipeline(async (s) => {
67
+ s.buyerState.isVisibleDrawer = false;
68
+ })();
69
+ }
70
+ },
71
+ };
72
+ }}
73
+ />
74
+ );
75
+ };
@@ -1,201 +1,201 @@
1
- import React from 'react';
2
- import { Drawer, Table } from 'kts-components-antd-x3';
3
- import Invoice from '../../..';
4
- import { updateUnitPriceExcludingTax, updateUnitPriceTax, dutyFree, format15 } from '../GoodsList/hook/useColumns/autoFillFn';
5
- import { countAmountIncludeTax } from '../../../tools/calculate'
6
- import { IGood } from '../../../InvoiceController';
7
- import evaluate from '../../../tools/evaluate';
8
-
9
- export default () => {
10
- const controller = Invoice.useInvoiceController();
11
-
12
- const visible = controller.useMemo(s => s.goodsListState.importGoods.isVisibleDrawer, []);
13
-
14
- const topExpand = controller.useMemo(s => s.goodsListState.importGoods.topExpand, []);
15
-
16
- const onClose = React.useCallback(() => {
17
- controller.pipeline(async s => { s.goodsListState.importGoods.isVisibleDrawer = false })();
18
- }, [controller]);
19
-
20
- return (
21
- <Drawer
22
- title="商品列表"
23
- placement="right"
24
- // closable={false}
25
- destroyOnClose={true}
26
- width={983}
27
- onClose={onClose}
28
- visible={visible}
29
- >
30
- {
31
- topExpand &&
32
- <div style={{ marginBottom: 10 }} >
33
- {topExpand}
34
- </div>
35
- }
36
- <DrawerBody />
37
- </Drawer>
38
- );
39
- };
40
-
41
- const DrawerBody = () => {
42
- const controller = Invoice.useInvoiceController();
43
-
44
- const columns = controller.useMemo(s => s.goodsListState.importGoods.columns, []);
45
-
46
- const dataSource = controller.useMemo(s => s.goodsListState.importGoods.dataSource, []);
47
-
48
- const pagination = controller.useMemo(s => s.goodsListState.importGoods.pagination, []);
49
-
50
- // const [editGood] = React.useState(controller.state.goodsListState.editGood);
51
-
52
- React.useEffect(() => { controller.getGoodsList && controller.getGoodsList({ pagination: { current: 1 } }) }, [controller]);
53
-
54
- return (
55
- <Table
56
- bordered
57
- size="small"
58
- columns={columns}
59
- dataSource={dataSource}
60
- pagination={pagination}
61
- onChange={pagination => { controller.getGoodsList && controller.getGoodsList({ pagination }) }}
62
- onRow={record => {
63
- return {
64
- onClick: () => {
65
- controller.run(async s => {
66
- Object.keys(record).filter(e => !record[e] && record[e] !== 0).forEach(e => { delete record[e] });
67
-
68
- // 导入时校验函数
69
- if (await s.goodsListState.importGoods.verifyFn(record) === false) return;
70
-
71
- // 没用 被编辑的货物 和 form 就退出
72
- if (!s.goodsListState.editGood || !s.goodsListState.form) return;
73
-
74
- // 导入时清空之前输入的值,使用导入的单价和税率(参考税局系统)
75
- record.quantity = undefined;
76
- record.lineAmountExcludeTax = undefined;
77
- record.lineAmountIncludeTax = undefined;
78
- if(!record.taxRate){
79
- record.taxRate = null;
80
- }
81
-
82
- // 中间数据
83
- const between = { ...record };
84
- between.itemName = getItemName(record, s.goodsListState.editGood);
85
- between.itemCode = getItemCode(record, s.goodsListState.editGood);
86
- between.itemNameOther = getItemNameOther(record, s.goodsListState.editGood);
87
-
88
- // 设置编辑货物
89
- const editGood: IGood = s.goodsListState.editGood = {
90
- ...s.goodsListState.editGood,
91
- itemModelName: undefined,
92
- itemModelNameSelf: undefined,
93
- ...between
94
- };
95
-
96
- if (editGood.taxRate) {
97
- editGood.taxRate = dutyFree(controller, editGood.taxRate, s.goodsListState.form, editGood)
98
- }
99
-
100
- if (`${editGood.priceIncludeTax}` === '0') {
101
- editGood.priceIncludeTax = undefined;
102
- editGood.priceExcludeTax = undefined;
103
- } else {
104
- editGood.priceExcludeTax = getPriceExcludeTax(editGood, record, s.calculatingDigits) as number;
105
- }
106
-
107
- if (editGood.quantity && editGood.priceIncludeTax) {
108
- editGood.lineAmountIncludeTax = countAmountIncludeTax(editGood.quantity, editGood.priceIncludeTax, s.calculatingDigits);
109
- }
110
-
111
- // 导入FORM里
112
- s.goodsListState.form.setFieldsValue({
113
- ...editGood,
114
- });
115
- // if (s.goodsListState.isMyShow) {
116
- // s.goodsListState.form.setFieldsValue({
117
- // ...editGood,
118
- // itemName: editGood.itemNameSelf,
119
- // itemModelName: editGood.itemModelNameSelf,
120
- // });
121
- // } else {
122
- // s.goodsListState.form.setFieldsValue({
123
- // ...editGood,
124
- // });
125
- // }
126
-
127
- s.goodsListState.importGoods.isVisibleDrawer = false;
128
- s.goodsListState.isTaxIncluded
129
- ? await updateUnitPriceExcludingTax(controller, s.goodsListState.form, record)
130
- : await updateUnitPriceTax(controller, s.goodsListState.form, record)
131
- })
132
- }
133
- };
134
- }}
135
- />
136
- );
137
- };
138
-
139
- /** 项目名称 */
140
- // const getItemName = (record: any) => {
141
- // return record.shorthand
142
- // ? `*${record.shorthand}*${record.itemName}`
143
- // : record.itemName;
144
- // };
145
-
146
- /** 货物单价,不含税 */
147
- const getPriceExcludeTax = (s: IGood, record: any, calculatingDigits?: number) => {
148
- if ((!s.taxRate && s.taxRate !== 0) || (!record.priceIncludeTax && record.priceIncludeTax !== 0)) return;
149
-
150
- // 单价(含税)/(1+税率) = 单价(不含税)
151
- return format15(evaluate(`${record.priceIncludeTax} / (1+${s.taxRate}/100)`), calculatingDigits);
152
- };
153
-
154
- // 获取我方名称
155
- const getItemName = (record: any, editGood: IGood) => {
156
-
157
- // let shorthand;
158
-
159
- // shorthand = record.shorthand;
160
- // if (shorthand) {
161
- // return `*${shorthand}*${record.itemName}`;
162
- // }
163
-
164
- // shorthand = getSN(editGood.itemName)?.shorthand;
165
- // if (shorthand) {
166
- // return `*${shorthand}*${record.itemNameSelf}`;
167
- // }
168
-
169
- return record.itemName;
170
- }
171
-
172
- // 获取他方名称
173
- const getItemNameOther = (record: any, editGood: IGood) => {
174
- // if (!editGood.itemName) return editGood.itemName;
175
-
176
- // let shorthand;
177
-
178
- // shorthand = record.shorthand;
179
- // if (shorthand) {
180
- // return `*${shorthand}*${record.itemNameSelf}`;
181
- // }
182
- return record.itemName;
183
- }
184
-
185
- // 获取商品编号
186
- const getItemCode = (record: any, editGood: IGood) => {
187
-
188
- // let shorthand;
189
-
190
- // shorthand = record.shorthand;
191
- // if (shorthand) {
192
- // return `*${shorthand}*${record.itemName}`;
193
- // }
194
-
195
- // shorthand = getSN(editGood.itemName)?.shorthand;
196
- // if (shorthand) {
197
- // return `*${shorthand}*${record.itemNameSelf}`;
198
- // }
199
-
200
- return record.productCode;
201
- }
1
+ import React from 'react';
2
+ import { Drawer, Table } from 'kts-components-antd-x3';
3
+ import Invoice from '../../..';
4
+ import { updateUnitPriceExcludingTax, updateUnitPriceTax, dutyFree, format15 } from '../GoodsList/hook/useColumns/autoFillFn';
5
+ import { countAmountIncludeTax } from '../../../tools/calculate'
6
+ import { IGood } from '../../../InvoiceController';
7
+ import evaluate from '../../../tools/evaluate';
8
+
9
+ export default () => {
10
+ const controller = Invoice.useInvoiceController();
11
+
12
+ const visible = controller.useMemo(s => s.goodsListState.importGoods.isVisibleDrawer, []);
13
+
14
+ const topExpand = controller.useMemo(s => s.goodsListState.importGoods.topExpand, []);
15
+
16
+ const onClose = React.useCallback(() => {
17
+ controller.pipeline(async s => { s.goodsListState.importGoods.isVisibleDrawer = false })();
18
+ }, [controller]);
19
+
20
+ return (
21
+ <Drawer
22
+ title="商品列表"
23
+ placement="right"
24
+ // closable={false}
25
+ destroyOnClose={true}
26
+ width={983}
27
+ onClose={onClose}
28
+ visible={visible}
29
+ >
30
+ {
31
+ topExpand &&
32
+ <div style={{ marginBottom: 10 }} >
33
+ {topExpand}
34
+ </div>
35
+ }
36
+ <DrawerBody />
37
+ </Drawer>
38
+ );
39
+ };
40
+
41
+ const DrawerBody = () => {
42
+ const controller = Invoice.useInvoiceController();
43
+
44
+ const columns = controller.useMemo(s => s.goodsListState.importGoods.columns, []);
45
+
46
+ const dataSource = controller.useMemo(s => s.goodsListState.importGoods.dataSource, []);
47
+
48
+ const pagination = controller.useMemo(s => s.goodsListState.importGoods.pagination, []);
49
+
50
+ // const [editGood] = React.useState(controller.state.goodsListState.editGood);
51
+
52
+ React.useEffect(() => { controller.getGoodsList && controller.getGoodsList({ pagination: { current: 1 } }) }, [controller]);
53
+
54
+ return (
55
+ <Table
56
+ bordered
57
+ size="small"
58
+ columns={columns}
59
+ dataSource={dataSource}
60
+ pagination={pagination}
61
+ onChange={pagination => { controller.getGoodsList && controller.getGoodsList({ pagination }) }}
62
+ onRow={record => {
63
+ return {
64
+ onClick: () => {
65
+ controller.run(async s => {
66
+ Object.keys(record).filter(e => !record[e] && record[e] !== 0).forEach(e => { delete record[e] });
67
+
68
+ // 导入时校验函数
69
+ if (await s.goodsListState.importGoods.verifyFn(record) === false) return;
70
+
71
+ // 没用 被编辑的货物 和 form 就退出
72
+ if (!s.goodsListState.editGood || !s.goodsListState.form) return;
73
+
74
+ // 导入时清空之前输入的值,使用导入的单价和税率(参考税局系统)
75
+ record.quantity = undefined;
76
+ record.lineAmountExcludeTax = undefined;
77
+ record.lineAmountIncludeTax = undefined;
78
+ if(!record.taxRate){
79
+ record.taxRate = null;
80
+ }
81
+
82
+ // 中间数据
83
+ const between = { ...record };
84
+ between.itemName = getItemName(record, s.goodsListState.editGood);
85
+ between.itemCode = getItemCode(record, s.goodsListState.editGood);
86
+ between.itemNameOther = getItemNameOther(record, s.goodsListState.editGood);
87
+
88
+ // 设置编辑货物
89
+ const editGood: IGood = s.goodsListState.editGood = {
90
+ ...s.goodsListState.editGood,
91
+ itemModelName: undefined,
92
+ itemModelNameSelf: undefined,
93
+ ...between
94
+ };
95
+
96
+ if (editGood.taxRate) {
97
+ editGood.taxRate = dutyFree(controller, editGood.taxRate, s.goodsListState.form, editGood)
98
+ }
99
+
100
+ if (`${editGood.priceIncludeTax}` === '0') {
101
+ editGood.priceIncludeTax = undefined;
102
+ editGood.priceExcludeTax = undefined;
103
+ } else {
104
+ editGood.priceExcludeTax = getPriceExcludeTax(editGood, record, s.calculatingDigits) as number;
105
+ }
106
+
107
+ if (editGood.quantity && editGood.priceIncludeTax) {
108
+ editGood.lineAmountIncludeTax = countAmountIncludeTax(editGood.quantity, editGood.priceIncludeTax, s.calculatingDigits);
109
+ }
110
+
111
+ // 导入FORM里
112
+ s.goodsListState.form.setFieldsValue({
113
+ ...editGood,
114
+ });
115
+ // if (s.goodsListState.isMyShow) {
116
+ // s.goodsListState.form.setFieldsValue({
117
+ // ...editGood,
118
+ // itemName: editGood.itemNameSelf,
119
+ // itemModelName: editGood.itemModelNameSelf,
120
+ // });
121
+ // } else {
122
+ // s.goodsListState.form.setFieldsValue({
123
+ // ...editGood,
124
+ // });
125
+ // }
126
+
127
+ s.goodsListState.importGoods.isVisibleDrawer = false;
128
+ s.goodsListState.isTaxIncluded
129
+ ? await updateUnitPriceExcludingTax(controller, s.goodsListState.form, record)
130
+ : await updateUnitPriceTax(controller, s.goodsListState.form, record)
131
+ })
132
+ }
133
+ };
134
+ }}
135
+ />
136
+ );
137
+ };
138
+
139
+ /** 项目名称 */
140
+ // const getItemName = (record: any) => {
141
+ // return record.shorthand
142
+ // ? `*${record.shorthand}*${record.itemName}`
143
+ // : record.itemName;
144
+ // };
145
+
146
+ /** 货物单价,不含税 */
147
+ const getPriceExcludeTax = (s: IGood, record: any, calculatingDigits?: number) => {
148
+ if ((!s.taxRate && s.taxRate !== 0) || (!record.priceIncludeTax && record.priceIncludeTax !== 0)) return;
149
+
150
+ // 单价(含税)/(1+税率) = 单价(不含税)
151
+ return format15(evaluate(`${record.priceIncludeTax} / (1+${s.taxRate}/100)`), calculatingDigits);
152
+ };
153
+
154
+ // 获取我方名称
155
+ const getItemName = (record: any, editGood: IGood) => {
156
+
157
+ // let shorthand;
158
+
159
+ // shorthand = record.shorthand;
160
+ // if (shorthand) {
161
+ // return `*${shorthand}*${record.itemName}`;
162
+ // }
163
+
164
+ // shorthand = getSN(editGood.itemName)?.shorthand;
165
+ // if (shorthand) {
166
+ // return `*${shorthand}*${record.itemNameSelf}`;
167
+ // }
168
+
169
+ return record.itemName;
170
+ }
171
+
172
+ // 获取他方名称
173
+ const getItemNameOther = (record: any, editGood: IGood) => {
174
+ // if (!editGood.itemName) return editGood.itemName;
175
+
176
+ // let shorthand;
177
+
178
+ // shorthand = record.shorthand;
179
+ // if (shorthand) {
180
+ // return `*${shorthand}*${record.itemNameSelf}`;
181
+ // }
182
+ return record.itemName;
183
+ }
184
+
185
+ // 获取商品编号
186
+ const getItemCode = (record: any, editGood: IGood) => {
187
+
188
+ // let shorthand;
189
+
190
+ // shorthand = record.shorthand;
191
+ // if (shorthand) {
192
+ // return `*${shorthand}*${record.itemName}`;
193
+ // }
194
+
195
+ // shorthand = getSN(editGood.itemName)?.shorthand;
196
+ // if (shorthand) {
197
+ // return `*${shorthand}*${record.itemNameSelf}`;
198
+ // }
199
+
200
+ return record.productCode;
201
+ }