kts-component-invoice-operate 3.2.154 → 3.2.156

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 (218) 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/IGood/index.d.ts +2 -0
  9. package/dist/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/index.d.ts +2 -0
  10. package/dist/Invoice/InvoiceController/index.d.ts +4 -0
  11. package/dist/index.esm.js +916 -819
  12. package/dist/index.js +916 -819
  13. package/docs/index.md +5 -5
  14. package/docs-dist/static/{arrowDown.22c7885c.svg → arrowDown.a1cbf0d8.svg} +2 -2
  15. package/docs-dist/static/{arrowUp.d707a3e4.svg → arrowUp.4c482054.svg} +2 -2
  16. package/docs-dist/static/{fork.43eb4ffa.svg → fork.5431267d.svg} +11 -11
  17. package/docs-dist/static/{plus.384f41d9.svg → plus.44013ce3.svg} +11 -11
  18. package/docs-dist/static/{plus.0e60e9ea.svg → plus.4fd1af30.svg} +11 -11
  19. package/docs-dist/umi.css +1 -1
  20. package/docs-dist/umi.js +1 -1
  21. package/index.html +12 -12
  22. package/package.json +61 -61
  23. package/src/Invoice/Invoice-digtal/_test/disabled/index.tsx +40 -40
  24. package/src/Invoice/Invoice-digtal/_test/easiest/index.tsx +16 -16
  25. package/src/Invoice/Invoice-digtal/_test/header/index.tsx +84 -84
  26. package/src/Invoice/Invoice-digtal/_test/importGoods/index.tsx +868 -868
  27. package/src/Invoice/Invoice-digtal/_test/importStakeholder/index.tsx +18 -18
  28. package/src/Invoice/Invoice-digtal/_test/lineCredit/index.tsx +19 -19
  29. package/src/Invoice/Invoice-digtal/_test/prefab/index.tsx +150 -150
  30. package/src/Invoice/Invoice-digtal/_test/readOnly/index.tsx +55 -55
  31. package/src/Invoice/Invoice-digtal/_test/realEstateInfo/index.tsx +21 -21
  32. package/src/Invoice/Invoice-digtal/_test/stakeholder/index.tsx +12 -12
  33. package/src/Invoice/Invoice-digtal/_test/typeSelection/index.tsx +29 -29
  34. package/src/Invoice/Invoice-digtal/index.md +34 -34
  35. package/src/Invoice/InvoiceController/InvoiceControllerForm/index.ts +95 -95
  36. package/src/Invoice/InvoiceController/InvoiceControllerState/AutoComplete/index.ts +20 -20
  37. package/src/Invoice/InvoiceController/InvoiceControllerState/BuyerState/index.tsx +88 -88
  38. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/Drag/index.ts +15 -15
  39. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/EndowCode/index.tsx +104 -104
  40. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/IColumnsReplenish/index.ts +10 -10
  41. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/IGood/index.ts +87 -84
  42. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/ImportGoods/index.ts +81 -81
  43. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/LineAttributeType/index.ts +7 -7
  44. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/ProductComparison/index.ts +9 -9
  45. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/index.ts +131 -128
  46. package/src/Invoice/InvoiceController/InvoiceControllerState/Stakeholder/index.ts +13 -13
  47. package/src/Invoice/InvoiceController/InvoiceControllerState/index.ts +65 -65
  48. package/src/Invoice/InvoiceController/fns/addGood.ts +11 -11
  49. package/src/Invoice/InvoiceController/fns/addGoodDiscount.ts +126 -126
  50. package/src/Invoice/InvoiceController/fns/addGoodDiscountV2.ts +86 -86
  51. package/src/Invoice/InvoiceController/fns/delGood.ts +41 -41
  52. package/src/Invoice/InvoiceController/fns/getGoodsSearch.ts +26 -26
  53. package/src/Invoice/InvoiceController/fns/importGoodsDrawer.ts +79 -79
  54. package/src/Invoice/InvoiceController/fns/itemBlur.ts +40 -40
  55. package/src/Invoice/InvoiceController/fns/mergeDetails.ts +201 -201
  56. package/src/Invoice/InvoiceController/fns/mergeDiscount.ts +35 -35
  57. package/src/Invoice/InvoiceController/fns/saveEditGood.ts +24 -24
  58. package/src/Invoice/InvoiceController/fns/setEditGood.ts +16 -16
  59. package/src/Invoice/InvoiceController/fns/setGoods.ts +10 -10
  60. package/src/Invoice/InvoiceController/fns/updateInvoiceNo.ts +8 -8
  61. package/src/Invoice/InvoiceController/index.ts +87 -81
  62. package/src/Invoice/_test/buyerNameSearch/index.tsx +42 -42
  63. package/src/Invoice/_test/children/index.tsx +214 -202
  64. package/src/Invoice/_test/deduction/index.tsx +935 -935
  65. package/src/Invoice/_test/draft/index.tsx +40 -40
  66. package/src/Invoice/_test/easiest/index.tsx +5 -5
  67. package/src/Invoice/_test/endowCode/index.tsx +1158 -1158
  68. package/src/Invoice/_test/goodsMenuExpand/index.tsx +32 -32
  69. package/src/Invoice/_test/importBuyer/index.tsx +74 -74
  70. package/src/Invoice/_test/importGoods/index.tsx +1197 -1197
  71. package/src/Invoice/_test/invoiceType/index.tsx +59 -59
  72. package/src/Invoice/_test/isInvoiceNo/index.tsx +12 -12
  73. package/src/Invoice/_test/replaceHead/index.tsx +22 -22
  74. package/src/Invoice/_test/retrieveData/index.tsx +22 -22
  75. package/src/Invoice/_test/seller/index.tsx +28 -28
  76. package/src/Invoice/_test/setDataSource/index.tsx +73 -73
  77. package/src/Invoice/_test/unit/index.tsx +19 -19
  78. package/src/Invoice/index.less +31 -31
  79. package/src/Invoice/index.md +56 -56
  80. package/src/Invoice/index.tsx +179 -179
  81. package/src/Invoice/tools/calculate/index.ts +132 -132
  82. package/src/Invoice/tools/coolingFn/index.ts +17 -17
  83. package/src/Invoice/tools/evaluate/index.ts +7 -7
  84. package/src/Invoice/tools/idGenerator/index.ts +2 -2
  85. package/src/Invoice/tools/itemName/index.ts +55 -55
  86. package/src/Invoice/tools/lazyFn/index.ts +19 -19
  87. package/src/Invoice/tools/mounting/index.ts +13 -13
  88. package/src/Invoice/tools/strringFn/index.ts +40 -40
  89. package/src/Invoice/tools/useToGenerateId/index.ts +8 -8
  90. package/src/Invoice/tools/utils/index.ts +1 -1
  91. package/src/Invoice/tools/utils/money/index.ts +20 -20
  92. package/src/Invoice/ui/default/AddComparisonDrawer/index.tsx +149 -149
  93. package/src/Invoice/ui/default/Buyer/index.less +219 -219
  94. package/src/Invoice/ui/default/Buyer/index.tsx +114 -114
  95. package/src/Invoice/ui/default/Buyer/ui/BuyerNameInput/index.tsx +166 -166
  96. package/src/Invoice/ui/default/Buyer/ui/ImportBuyerButton/index.tsx +21 -21
  97. package/src/Invoice/ui/default/EndowCodeDrawer/index.less +8 -8
  98. package/src/Invoice/ui/default/EndowCodeDrawer/index.tsx +586 -550
  99. package/src/Invoice/ui/default/GoodsList/hook/useColumns/autoFillFn/index.ts +647 -647
  100. package/src/Invoice/ui/default/GoodsList/hook/useColumns/index.tsx +711 -710
  101. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/Drag/index.less +20 -20
  102. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/Drag/index.tsx +205 -205
  103. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/Expand/index.tsx +57 -53
  104. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemCodeInput/index.less +18 -18
  105. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemCodeInput/index.tsx +49 -49
  106. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemNameInput/index.less +17 -17
  107. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemNameInput/index.tsx +91 -91
  108. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowEditButton/index.tsx +30 -30
  109. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/_useAddComparison/index.tsx +43 -43
  110. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/useAddDiscount/index.tsx +118 -118
  111. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/useDelItem/dist/index.js +32 -0
  112. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/useDelItem/index.tsx +41 -41
  113. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/useEndowCode/index.tsx +25 -25
  114. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/index.less +13 -13
  115. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/index.tsx +99 -99
  116. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowSaveButton/index.tsx +14 -14
  117. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/TitleText/index.tsx +20 -20
  118. package/src/Invoice/ui/default/GoodsList/hook/useDeduction/index.tsx +24 -24
  119. package/src/Invoice/ui/default/GoodsList/hook/useOnRow/index.tsx +52 -40
  120. package/src/Invoice/ui/default/GoodsList/hook/useRowSelection/index.tsx +120 -120
  121. package/src/Invoice/ui/default/GoodsList/hook/useWindowClick/index.tsx +23 -23
  122. package/src/Invoice/ui/default/GoodsList/index.less +185 -185
  123. package/src/Invoice/ui/default/GoodsList/index.tsx +205 -205
  124. package/src/Invoice/ui/default/GoodsList/ui/AddRowButton/index.tsx +65 -65
  125. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/index.less +21 -21
  126. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/index.tsx +244 -244
  127. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useCommodityComparisonButton/index.tsx +75 -75
  128. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useDelRowButton/index.tsx +69 -69
  129. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useEndowCodeButton/index.tsx +65 -65
  130. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useMergeDetails/index.tsx +91 -91
  131. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useMergeDiscount/index.tsx +36 -36
  132. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useSalesDiscount/index.tsx +109 -109
  133. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useSalesGifts/index.tsx +94 -94
  134. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/index.tsx +37 -37
  135. package/src/Invoice/ui/default/GoodsList/ui/DescribeSwitch/index.tsx +36 -36
  136. package/src/Invoice/ui/default/GoodsList/ui/Search/index.less +10 -10
  137. package/src/Invoice/ui/default/GoodsList/ui/Search/index.tsx +52 -52
  138. package/src/Invoice/ui/default/GoodsList/ui/Statistics/index.less +18 -18
  139. package/src/Invoice/ui/default/GoodsList/ui/Statistics/index.tsx +114 -114
  140. package/src/Invoice/ui/default/GoodsList/ui/TableRow/index.less +40 -29
  141. package/src/Invoice/ui/default/GoodsList/ui/TableRow/index.tsx +71 -57
  142. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual/index.less +38 -38
  143. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual/index.tsx +130 -131
  144. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual.o/index.less +44 -44
  145. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual.o/index.tsx +96 -96
  146. package/src/Invoice/ui/default/GoodsList/ui/TaxIncludedSwitch/index.tsx +31 -31
  147. package/src/Invoice/ui/default/ImportBuyerDrawer/index.tsx +75 -75
  148. package/src/Invoice/ui/default/ImportGoodsDrawer/index.tsx +198 -198
  149. package/src/Invoice/ui/default/InvoiceHeader/index.less +68 -68
  150. package/src/Invoice/ui/default/InvoiceHeader/index.tsx +246 -246
  151. package/src/Invoice/ui/default/Seller/index.less +113 -113
  152. package/src/Invoice/ui/default/Seller/index.tsx +98 -98
  153. package/src/Invoice/ui/default/Sign/index.less +14 -14
  154. package/src/Invoice/ui/default/Sign/index.tsx +71 -71
  155. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/autoFillFn/index.ts +639 -639
  156. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/index.tsx +660 -657
  157. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/svg/plus.svg +11 -11
  158. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/Drag/index.less +20 -20
  159. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/Drag/index.tsx +205 -205
  160. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/ItemNameInput/index.less +9 -9
  161. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/ItemNameInput/index.tsx +87 -87
  162. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowEditButton/index.tsx +30 -30
  163. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/_useAddComparison/index.tsx +43 -43
  164. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useAddDiscount/index.tsx +76 -76
  165. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useDelItem/index.tsx +41 -41
  166. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useEndowCode/index.tsx +34 -34
  167. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/index.less +13 -13
  168. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/index.tsx +98 -98
  169. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowSaveButton/index.tsx +14 -14
  170. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/TitleText/index.tsx +20 -20
  171. package/src/Invoice/ui/digtal/GoodsList/hook/useOnRow/index.tsx +51 -39
  172. package/src/Invoice/ui/digtal/GoodsList/hook/useRowSelection/index.tsx +121 -121
  173. package/src/Invoice/ui/digtal/GoodsList/hook/useWindowClick/index.tsx +23 -23
  174. package/src/Invoice/ui/digtal/GoodsList/index.less +56 -56
  175. package/src/Invoice/ui/digtal/GoodsList/index.tsx +180 -180
  176. package/src/Invoice/ui/digtal/GoodsList/ui/AddRowButton/index.tsx +67 -67
  177. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/index.tsx +340 -340
  178. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/svg/add.svg +11 -11
  179. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useCommodityComparisonButton/index.tsx +75 -75
  180. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useDelRowButton/index.tsx +50 -50
  181. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useEmptyRefill/index.tsx +37 -37
  182. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useEndowCodeButton/index.tsx +82 -82
  183. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useReselectInvoiceType/index.tsx +57 -57
  184. package/src/Invoice/ui/digtal/GoodsList/ui/DescribeSwitch/index.tsx +36 -36
  185. package/src/Invoice/ui/digtal/GoodsList/ui/Search/index.less +11 -11
  186. package/src/Invoice/ui/digtal/GoodsList/ui/Search/index.tsx +50 -50
  187. package/src/Invoice/ui/digtal/GoodsList/ui/Statistics/index.less +53 -53
  188. package/src/Invoice/ui/digtal/GoodsList/ui/Statistics/index.tsx +98 -98
  189. package/src/Invoice/ui/digtal/GoodsList/ui/Statistics/svg/fork.svg +11 -11
  190. package/src/Invoice/ui/digtal/GoodsList/ui/TableRow/index.less +28 -28
  191. package/src/Invoice/ui/digtal/GoodsList/ui/TableRow/index.tsx +53 -53
  192. package/src/Invoice/ui/digtal/GoodsList/ui/TableVirtual/index.less +38 -38
  193. package/src/Invoice/ui/digtal/GoodsList/ui/TableVirtual/index.tsx +108 -108
  194. package/src/Invoice/ui/digtal/GoodsList/ui/TaxIncludedSwitch/index.tsx +31 -31
  195. package/src/Invoice/ui/digtal/InvoiceHeader/index.less +57 -57
  196. package/src/Invoice/ui/digtal/InvoiceHeader/index.tsx +77 -77
  197. package/src/Invoice/ui/digtal/RealEstateInfo/index.less +14 -14
  198. package/src/Invoice/ui/digtal/RealEstateInfo/index.tsx +192 -194
  199. package/src/Invoice/ui/digtal/Sign/index.less +48 -48
  200. package/src/Invoice/ui/digtal/Sign/index.tsx +99 -99
  201. package/src/Invoice/ui/digtal/Stakeholder/index.less +99 -99
  202. package/src/Invoice/ui/digtal/Stakeholder/index.tsx +396 -396
  203. package/src/Invoice/ui/digtal/Stakeholder/svg/arrowDown.svg +2 -2
  204. package/src/Invoice/ui/digtal/Stakeholder/svg/arrowUp.svg +2 -2
  205. package/src/Invoice/ui/digtal/Stakeholder/svg/plus.svg +11 -11
  206. package/src/InvoiceTypeModal/_test/easiest/index.tsx +31 -31
  207. package/src/InvoiceTypeModal/index.less +7 -7
  208. package/src/InvoiceTypeModal/index.md +5 -5
  209. package/src/InvoiceTypeModal/index.tsx +153 -153
  210. package/src/TaxClassificationCodeModal/_test/easiest/index.tsx +177 -177
  211. package/src/TaxClassificationCodeModal/index.md +6 -6
  212. package/src/TaxClassificationCodeModal/index.tsx +74 -74
  213. package/src/index.ts +12 -12
  214. package/tsconfig.json +31 -31
  215. package/typings.d.ts +3 -3
  216. package/yarn.e.lock +14331 -14331
  217. package/docs-dist/static/I001.4ff48f20.svg +0 -1
  218. package/docs-dist/static/I002.38b94da1.svg +0 -1
@@ -1,7 +1,7 @@
1
- import { create, all } from 'mathjs';
2
-
3
- const math = create(all, { number: 'BigNumber', precision: 20 }) as any;
4
-
5
- export default (expr: any, fractionDigits = 20) => {
6
- return parseFloat(math.evaluate(expr).toFixed(fractionDigits));
7
- };
1
+ import { create, all } from 'mathjs';
2
+
3
+ const math = create(all, { number: 'BigNumber', precision: 20 }) as any;
4
+
5
+ export default (expr: any, fractionDigits = 20) => {
6
+ return parseFloat(math.evaluate(expr).toFixed(fractionDigits));
7
+ };
@@ -1,3 +1,3 @@
1
-
2
- import { v4 as uuidv4 } from 'uuid';
1
+
2
+ import { v4 as uuidv4 } from 'uuid';
3
3
  export default () => uuidv4();
@@ -1,56 +1,56 @@
1
-
2
- export interface ISN {
3
-
4
- /** 简称 */
5
- shorthand?: string;
6
-
7
- /** 全称 */
8
- full: string
9
- }
10
-
11
- /** 拆分全称加简称 */
12
- export const getSN = (value?: string): ISN | undefined => {
13
- if (!value) return undefined;
14
- const arr = value.match(/\*[^*]+\*/);
15
- if (arr && arr[0]) {
16
- return { shorthand: arr[0].split('*')[1], full: value.replace(arr[0], '') };
17
- } else {
18
- return { shorthand: undefined, full: value };
19
- }
20
- };
21
-
22
- /** 组合全称加简称 */
23
- export const getItemName = (value: ISN) => {
24
- if (value.shorthand) {
25
- return `*${value.shorthand}*${value.full}`;
26
- } else {
27
- return value.full;
28
- }
29
- }
30
-
31
- /** 设置全称 */
32
- export const setFull = (name?:string, full?:string) => {
33
- const sn = getSN(name);
34
- if(!sn) return full;
35
- sn.full = full || '';
36
- return getItemName(sn);
37
- }
38
-
39
- /** 设置简称 */
40
- export const setShorthand = (name?:string, shorthand?:string) => {
41
- if(!name) return undefined
42
-
43
- const sn = getSN(name);
44
- if(!sn) return undefined;
45
- sn.shorthand = shorthand || '';
46
- return getItemName(sn);
47
- }
48
-
49
- /** 组合全称加简称 */
50
- export const getItemNameWithShorthand = (value: ISN) => {
51
- if (value.shorthand) {
52
- return `*${value.shorthand}*${value.full}`;
53
- } else {
54
- return value.full;
55
- }
1
+
2
+ export interface ISN {
3
+
4
+ /** 简称 */
5
+ shorthand?: string;
6
+
7
+ /** 全称 */
8
+ full: string
9
+ }
10
+
11
+ /** 拆分全称加简称 */
12
+ export const getSN = (value?: string): ISN | undefined => {
13
+ if (!value) return undefined;
14
+ const arr = value.match(/\*[^*]+\*/);
15
+ if (arr && arr[0]) {
16
+ return { shorthand: arr[0].split('*')[1], full: value.replace(arr[0], '') };
17
+ } else {
18
+ return { shorthand: undefined, full: value };
19
+ }
20
+ };
21
+
22
+ /** 组合全称加简称 */
23
+ export const getItemName = (value: ISN) => {
24
+ if (value.shorthand) {
25
+ return `*${value.shorthand}*${value.full}`;
26
+ } else {
27
+ return value.full;
28
+ }
29
+ }
30
+
31
+ /** 设置全称 */
32
+ export const setFull = (name?:string, full?:string) => {
33
+ const sn = getSN(name);
34
+ if(!sn) return full;
35
+ sn.full = full || '';
36
+ return getItemName(sn);
37
+ }
38
+
39
+ /** 设置简称 */
40
+ export const setShorthand = (name?:string, shorthand?:string) => {
41
+ if(!name) return undefined
42
+
43
+ const sn = getSN(name);
44
+ if(!sn) return undefined;
45
+ sn.shorthand = shorthand || '';
46
+ return getItemName(sn);
47
+ }
48
+
49
+ /** 组合全称加简称 */
50
+ export const getItemNameWithShorthand = (value: ISN) => {
51
+ if (value.shorthand) {
52
+ return `*${value.shorthand}*${value.full}`;
53
+ } else {
54
+ return value.full;
55
+ }
56
56
  }
@@ -1,20 +1,20 @@
1
- /** 延迟函数 */
2
- export default (fn: Function, delayed: number = 200) => {
3
- // let timer: any = 0;
4
- // return (...par: any[]) => {
5
- // if (timer === 0) {
6
- // timer = setTimeout(() => {
7
- // fn.apply(null, par);
8
- // timer = 0;
9
- // }, delayed);
10
- // }
11
- // }
12
- let timer: any;
13
- return (...par: any[]) => {
14
- if (timer) return;
15
- timer = setTimeout(() => {
16
- timer = undefined;
17
- fn.apply(null, par);
18
- }, delayed);
19
- }
1
+ /** 延迟函数 */
2
+ export default (fn: Function, delayed: number = 200) => {
3
+ // let timer: any = 0;
4
+ // return (...par: any[]) => {
5
+ // if (timer === 0) {
6
+ // timer = setTimeout(() => {
7
+ // fn.apply(null, par);
8
+ // timer = 0;
9
+ // }, delayed);
10
+ // }
11
+ // }
12
+ let timer: any;
13
+ return (...par: any[]) => {
14
+ if (timer) return;
15
+ timer = setTimeout(() => {
16
+ timer = undefined;
17
+ fn.apply(null, par);
18
+ }, delayed);
19
+ }
20
20
  }
@@ -1,14 +1,14 @@
1
-
2
- import * as ReactDOM from 'react-dom';
3
-
4
- /** 挂在组件到跟上 */
5
- export default function mounting(node: JSX.Element, containerId?: string) {
6
- ReactDOM.render(node, getContainer(containerId));
7
- }
8
-
9
- function getContainer(containerId: string = 'kts-component-invoice-operate-invoicing-authorization') {
10
- const div: HTMLElement = document.querySelector(`#${containerId}`) || document.createElement("div");
11
- div.id = containerId;
12
- document.body.appendChild(div);
13
- return div;
1
+
2
+ import * as ReactDOM from 'react-dom';
3
+
4
+ /** 挂在组件到跟上 */
5
+ export default function mounting(node: JSX.Element, containerId?: string) {
6
+ ReactDOM.render(node, getContainer(containerId));
7
+ }
8
+
9
+ function getContainer(containerId: string = 'kts-component-invoice-operate-invoicing-authorization') {
10
+ const div: HTMLElement = document.querySelector(`#${containerId}`) || document.createElement("div");
11
+ div.id = containerId;
12
+ document.body.appendChild(div);
13
+ return div;
14
14
  }
@@ -1,41 +1,41 @@
1
- /**
2
- * 判断一个字符串得字节长度
3
- * @param str
4
- * @returns
5
- */
6
- export function bytesLnegth(str: string) {
7
- var count = str.length;
8
- for (var i = 0; i < str.length; i++) {
9
- if (str.charCodeAt(i) > 255) {
10
- count++;
11
- }
12
- }
13
- return count;
14
- }
15
-
16
- /*
17
- * param str 要截取的字符串
18
- * param L 要截取的字节长度,注意是字节不是字符,一个汉字两个字节
19
- * return 截取后的字符串
20
- */
21
- export function cutStr(str: string, L: number) {
22
- var result = '',
23
- strlen = str.length, // 字符串长度
24
- chrlen = str.replace(/[^\x00-\xff]/g, '**').length; // 字节长度
25
-
26
- if (chrlen <= L) { return str; }
27
-
28
- for (var i = 0, j = 0; i < strlen; i++) {
29
- var chr = str.charAt(i);
30
- if (/[\x00-\xff]/.test(chr)) {
31
- j++; // ascii码为0-255,一个字符就是一个字节的长度
32
- } else {
33
- j += 2; // ascii码为0-255以外,一个字符就是两个字节的长度
34
- }
35
- if (j <= L) { // 当加上当前字符以后,如果总字节长度小于等于L,则将当前字符真实的+在result后
36
- result += chr;
37
- } else { // 反之则说明result已经是不拆分字符的情况下最接近L的值了,直接返回
38
- return result;
39
- }
40
- }
1
+ /**
2
+ * 判断一个字符串得字节长度
3
+ * @param str
4
+ * @returns
5
+ */
6
+ export function bytesLnegth(str: string) {
7
+ var count = str.length;
8
+ for (var i = 0; i < str.length; i++) {
9
+ if (str.charCodeAt(i) > 255) {
10
+ count++;
11
+ }
12
+ }
13
+ return count;
14
+ }
15
+
16
+ /*
17
+ * param str 要截取的字符串
18
+ * param L 要截取的字节长度,注意是字节不是字符,一个汉字两个字节
19
+ * return 截取后的字符串
20
+ */
21
+ export function cutStr(str: string, L: number) {
22
+ var result = '',
23
+ strlen = str.length, // 字符串长度
24
+ chrlen = str.replace(/[^\x00-\xff]/g, '**').length; // 字节长度
25
+
26
+ if (chrlen <= L) { return str; }
27
+
28
+ for (var i = 0, j = 0; i < strlen; i++) {
29
+ var chr = str.charAt(i);
30
+ if (/[\x00-\xff]/.test(chr)) {
31
+ j++; // ascii码为0-255,一个字符就是一个字节的长度
32
+ } else {
33
+ j += 2; // ascii码为0-255以外,一个字符就是两个字节的长度
34
+ }
35
+ if (j <= L) { // 当加上当前字符以后,如果总字节长度小于等于L,则将当前字符真实的+在result后
36
+ result += chr;
37
+ } else { // 反之则说明result已经是不拆分字符的情况下最接近L的值了,直接返回
38
+ return result;
39
+ }
40
+ }
41
41
  }
@@ -1,9 +1,9 @@
1
-
2
- import React from 'react'
3
- import InvoiceController from '../../InvoiceController'
4
-
5
- /** 更新 商品序号 */
6
- export default function useToGenerateId(controller: InvoiceController) {
7
- const goodsList = controller.useMemo(s => s.goodsListState.goodsList, []);
8
- React.useEffect(() => { goodsList.forEach((e, i) => { e.serialNo = i + 1 }) }, [goodsList])
1
+
2
+ import React from 'react'
3
+ import InvoiceController from '../../InvoiceController'
4
+
5
+ /** 更新 商品序号 */
6
+ export default function useToGenerateId(controller: InvoiceController) {
7
+ const goodsList = controller.useMemo(s => s.goodsListState.goodsList, []);
8
+ React.useEffect(() => { goodsList.forEach((e, i) => { e.serialNo = i + 1 }) }, [goodsList])
9
9
  }
@@ -1 +1 @@
1
- export * as Money from './money';
1
+ export * as Money from './money';
@@ -1,20 +1,20 @@
1
- const Nzh = require("nzh");
2
-
3
- const nzhcn = new Nzh({
4
- ch: '零壹贰叁肆伍陆柒捌玖'
5
- ,ch_u: '个拾佰仟万亿'
6
- ,ch_f: '负'
7
- ,ch_d: '点'
8
- ,m_t: '人民币'
9
- ,m_z: '整'
10
- ,m_u: '圆角分'
11
- })
12
-
13
- /** 数字转中文 */
14
- export const toStringChinese = (value: any) => {
15
- try {
16
- return nzhcn.toMoney(value, { outSymbol: false })
17
- } catch(e) {
18
- return ''
19
- }
20
- };
1
+ const Nzh = require("nzh");
2
+
3
+ const nzhcn = new Nzh({
4
+ ch: '零壹贰叁肆伍陆柒捌玖'
5
+ ,ch_u: '个拾佰仟万亿'
6
+ ,ch_f: '负'
7
+ ,ch_d: '点'
8
+ ,m_t: '人民币'
9
+ ,m_z: '整'
10
+ ,m_u: '圆角分'
11
+ })
12
+
13
+ /** 数字转中文 */
14
+ export const toStringChinese = (value: any) => {
15
+ try {
16
+ return nzhcn.toMoney(value, { outSymbol: false })
17
+ } catch(e) {
18
+ return ''
19
+ }
20
+ };
@@ -1,150 +1,150 @@
1
-
2
- import React from "react";
3
- import { Row, Col, Input, Button, message } from "kts-components-antd-x3";
4
- import { Form, Drawer } from "kts-xui";
5
- import { Invoice, IGood } from "../../../..";
6
- import { getSN } from "../../../tools/itemName";
7
- import { LineAttributeType } from "../../../InvoiceController";
8
-
9
- export default function AddComparisonDrawer() {
10
-
11
- const [form] = Form.useForm();
12
-
13
- /** 控制器 */
14
- const controller = Invoice.useInvoiceController();
15
-
16
- /** 正在 添加商品对照 的货物索引 */
17
- const addComparisonIndex = controller.useMemo(s => s.goodsListState?.addComparisonIndex, []);
18
-
19
- /** 货物字典 */
20
- const goodsMap = controller.useMemo(s => s.goodsListState.goodsMap, []);
21
-
22
- /** 正在 对照 的货物 */
23
- const good = React.useMemo(() => addComparisonIndex ? goodsMap.get(addComparisonIndex) : undefined, [addComparisonIndex]);
24
-
25
- /** 关闭对照 */
26
- const onClose = React.useCallback(controller.pipeline<any>(async s => { s.goodsListState.addComparisonIndex = undefined }), [controller]);
27
-
28
- /** 提交数据 */
29
- const onSubmit = React.useCallback(() => {
30
- controller.run(async s => {
31
- if (!good) return
32
-
33
- try {
34
- const values = await form.validateFields()
35
- const shorthand = s.goodsListState.isMyShow ? getSN(good.itemNameSelf)?.shorthand : getSN(good.itemName)?.shorthand;
36
- const setGood = (good: IGood) => {
37
- good.itemCode = values.itemCode;
38
- good.itemCodeSelf = values.itemCodeSelf;
39
- good.itemName = shorthand ? `*${shorthand}*${values.itemName}` : values.itemName;
40
- good.itemNameSelf = shorthand ? `*${shorthand}*${values.itemNameSelf}` : values.itemNameSelf;
41
-
42
- if (good.lineAttribute !== LineAttributeType.折扣行) {
43
- good.itemModelName = values.itemModelName;
44
- good.itemModelNameSelf = values.itemModelNameSelf;
45
- }
46
- }
47
-
48
- setGood(good);
49
-
50
- if (good.lineAttribute !== LineAttributeType.正常) {
51
- const c = good.lineAttribute === LineAttributeType.折扣行 ? -1 : good.lineAttribute === LineAttributeType.被折扣行 ? 1 : 0
52
- const g = s.goodsListState.goodsList[s.goodsListState.goodsList.indexOf(good) + c]
53
- setGood(g);
54
- }
55
-
56
- s.goodsListState.addComparisonIndex = undefined;
57
- s.goodsListState.goodsList = [...s.goodsListState.goodsList];
58
-
59
- message.success('商品映射成功');
60
- } catch (error) {
61
-
62
- }
63
- })
64
- }, [form, good])
65
-
66
- React.useEffect(() => {
67
- form.resetFields();
68
- if (good) {
69
- form.setFieldsValue({
70
- ...good,
71
- itemName: getSN(good.itemName)?.full,
72
- itemNameSelf: getSN(good.itemNameSelf)?.full,
73
- })
74
- }
75
- }, [good])
76
-
77
- return (
78
- <Drawer
79
- width={500}
80
- onClose={onClose}
81
- placement="right"
82
- title="商品映射"
83
- visible={!!good}
84
- footer={
85
- <div style={{ display: 'flex', justifyContent: 'flex-end', gap: 10 }} >
86
- <Button type="primary" onClick={onSubmit} >提交</Button>
87
- <Button onClick={onClose} >取消</Button>
88
- </div>
89
- }
90
- >
91
- {
92
- !!good &&
93
- <Form layout="vertical" style={{ flex: 1 }} form={form} >
94
- <Row gutter={[8, 8]} >
95
- {/* <Col span={12}>
96
- <Form.Item
97
- name="itemCodeSelf"
98
- label="我方商品编码"
99
- >
100
- <Input />
101
- </Form.Item>
102
- </Col>
103
- <Col span={12} >
104
- <Form.Item
105
- name="itemCode"
106
- label="对方商品编码"
107
- >
108
- <Input />
109
- </Form.Item>
110
- </Col> */}
111
- <Col span={12} >
112
- <Form.Item
113
- name="itemNameSelf"
114
- label="我方商品名称"
115
- >
116
- <Input />
117
- </Form.Item>
118
- </Col>
119
- <Col span={12} >
120
- <Form.Item
121
- name="itemName"
122
- label="对方商品名称"
123
- >
124
- <Input />
125
- </Form.Item>
126
- </Col>
127
- <Col span={12} >
128
- <Form.Item name='itemModelNameSelf' label="我方规格型号">
129
- <Input />
130
- </Form.Item>
131
- </Col>
132
- <Col span={12} >
133
- <Form.Item name="itemModelName" label="对方规格型号">
134
- <Input />
135
- </Form.Item>
136
- </Col>
137
- </Row>
138
- </Form>
139
- }
140
- </Drawer>
141
- )
142
- }
143
-
144
- // function validateFields(form: WrappedFormUtils<any>) {
145
- // return new Promise<{ err: any, values: any }>(resolve => {
146
- // form.validateFields((err, values) => {
147
- // resolve({ err, values })
148
- // })
149
- // })
1
+
2
+ import React from "react";
3
+ import { Row, Col, Input, Button, message } from "kts-components-antd-x3";
4
+ import { Form, Drawer } from "kts-xui";
5
+ import { Invoice, IGood } from "../../../..";
6
+ import { getSN } from "../../../tools/itemName";
7
+ import { LineAttributeType } from "../../../InvoiceController";
8
+
9
+ export default function AddComparisonDrawer() {
10
+
11
+ const [form] = Form.useForm();
12
+
13
+ /** 控制器 */
14
+ const controller = Invoice.useInvoiceController();
15
+
16
+ /** 正在 添加商品对照 的货物索引 */
17
+ const addComparisonIndex = controller.useMemo(s => s.goodsListState?.addComparisonIndex, []);
18
+
19
+ /** 货物字典 */
20
+ const goodsMap = controller.useMemo(s => s.goodsListState.goodsMap, []);
21
+
22
+ /** 正在 对照 的货物 */
23
+ const good = React.useMemo(() => addComparisonIndex ? goodsMap.get(addComparisonIndex) : undefined, [addComparisonIndex]);
24
+
25
+ /** 关闭对照 */
26
+ const onClose = React.useCallback(controller.pipeline<any>(async s => { s.goodsListState.addComparisonIndex = undefined }), [controller]);
27
+
28
+ /** 提交数据 */
29
+ const onSubmit = React.useCallback(() => {
30
+ controller.run(async s => {
31
+ if (!good) return
32
+
33
+ try {
34
+ const values = await form.validateFields()
35
+ const shorthand = s.goodsListState.isMyShow ? getSN(good.itemNameSelf)?.shorthand : getSN(good.itemName)?.shorthand;
36
+ const setGood = (good: IGood) => {
37
+ good.itemCode = values.itemCode;
38
+ good.itemCodeSelf = values.itemCodeSelf;
39
+ good.itemName = shorthand ? `*${shorthand}*${values.itemName}` : values.itemName;
40
+ good.itemNameSelf = shorthand ? `*${shorthand}*${values.itemNameSelf}` : values.itemNameSelf;
41
+
42
+ if (good.lineAttribute !== LineAttributeType.折扣行) {
43
+ good.itemModelName = values.itemModelName;
44
+ good.itemModelNameSelf = values.itemModelNameSelf;
45
+ }
46
+ }
47
+
48
+ setGood(good);
49
+
50
+ if (good.lineAttribute !== LineAttributeType.正常) {
51
+ const c = good.lineAttribute === LineAttributeType.折扣行 ? -1 : good.lineAttribute === LineAttributeType.被折扣行 ? 1 : 0
52
+ const g = s.goodsListState.goodsList[s.goodsListState.goodsList.indexOf(good) + c]
53
+ setGood(g);
54
+ }
55
+
56
+ s.goodsListState.addComparisonIndex = undefined;
57
+ s.goodsListState.goodsList = [...s.goodsListState.goodsList];
58
+
59
+ message.success('商品映射成功');
60
+ } catch (error) {
61
+
62
+ }
63
+ })
64
+ }, [form, good])
65
+
66
+ React.useEffect(() => {
67
+ form.resetFields();
68
+ if (good) {
69
+ form.setFieldsValue({
70
+ ...good,
71
+ itemName: getSN(good.itemName)?.full,
72
+ itemNameSelf: getSN(good.itemNameSelf)?.full,
73
+ })
74
+ }
75
+ }, [good])
76
+
77
+ return (
78
+ <Drawer
79
+ width={500}
80
+ onClose={onClose}
81
+ placement="right"
82
+ title="商品映射"
83
+ visible={!!good}
84
+ footer={
85
+ <div style={{ display: 'flex', justifyContent: 'flex-end', gap: 10 }} >
86
+ <Button type="primary" onClick={onSubmit} >提交</Button>
87
+ <Button onClick={onClose} >取消</Button>
88
+ </div>
89
+ }
90
+ >
91
+ {
92
+ !!good &&
93
+ <Form layout="vertical" style={{ flex: 1 }} form={form} >
94
+ <Row gutter={[8, 8]} >
95
+ {/* <Col span={12}>
96
+ <Form.Item
97
+ name="itemCodeSelf"
98
+ label="我方商品编码"
99
+ >
100
+ <Input />
101
+ </Form.Item>
102
+ </Col>
103
+ <Col span={12} >
104
+ <Form.Item
105
+ name="itemCode"
106
+ label="对方商品编码"
107
+ >
108
+ <Input />
109
+ </Form.Item>
110
+ </Col> */}
111
+ <Col span={12} >
112
+ <Form.Item
113
+ name="itemNameSelf"
114
+ label="我方商品名称"
115
+ >
116
+ <Input />
117
+ </Form.Item>
118
+ </Col>
119
+ <Col span={12} >
120
+ <Form.Item
121
+ name="itemName"
122
+ label="对方商品名称"
123
+ >
124
+ <Input />
125
+ </Form.Item>
126
+ </Col>
127
+ <Col span={12} >
128
+ <Form.Item name='itemModelNameSelf' label="我方规格型号">
129
+ <Input />
130
+ </Form.Item>
131
+ </Col>
132
+ <Col span={12} >
133
+ <Form.Item name="itemModelName" label="对方规格型号">
134
+ <Input />
135
+ </Form.Item>
136
+ </Col>
137
+ </Row>
138
+ </Form>
139
+ }
140
+ </Drawer>
141
+ )
142
+ }
143
+
144
+ // function validateFields(form: WrappedFormUtils<any>) {
145
+ // return new Promise<{ err: any, values: any }>(resolve => {
146
+ // form.validateFields((err, values) => {
147
+ // resolve({ err, values })
148
+ // })
149
+ // })
150
150
  // }