kts-component-invoice-operate 3.2.165 → 3.2.166

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 (217) 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/EndowCode/index.d.ts +4 -4
  9. package/dist/TaxClassificationCodeModal/index.d.ts +2 -1
  10. package/dist/index.esm.js +767 -721
  11. package/dist/index.js +766 -720
  12. package/docs/index.md +5 -5
  13. package/docs-dist/static/arrowDown.a1cbf0d8.svg +2 -2
  14. package/docs-dist/static/arrowUp.4c482054.svg +2 -2
  15. package/docs-dist/static/fork.5431267d.svg +11 -11
  16. package/docs-dist/static/plus.44013ce3.svg +11 -11
  17. package/docs-dist/static/plus.4fd1af30.svg +11 -11
  18. package/index.html +12 -12
  19. package/package.json +61 -61
  20. package/src/Invoice/Invoice-digtal/_test/disabled/index.tsx +40 -40
  21. package/src/Invoice/Invoice-digtal/_test/easiest/index.tsx +17 -17
  22. package/src/Invoice/Invoice-digtal/_test/header/index.tsx +84 -84
  23. package/src/Invoice/Invoice-digtal/_test/importGoods/index.tsx +868 -868
  24. package/src/Invoice/Invoice-digtal/_test/importStakeholder/index.tsx +18 -18
  25. package/src/Invoice/Invoice-digtal/_test/lineCredit/index.tsx +19 -19
  26. package/src/Invoice/Invoice-digtal/_test/prefab/index.tsx +150 -150
  27. package/src/Invoice/Invoice-digtal/_test/readOnly/index.tsx +55 -55
  28. package/src/Invoice/Invoice-digtal/_test/realEstateInfo/index.tsx +21 -21
  29. package/src/Invoice/Invoice-digtal/_test/stakeholder/index.tsx +12 -12
  30. package/src/Invoice/Invoice-digtal/_test/typeSelection/index.tsx +29 -29
  31. package/src/Invoice/Invoice-digtal/index.md +34 -34
  32. package/src/Invoice/InvoiceController/InvoiceControllerForm/index.ts +95 -95
  33. package/src/Invoice/InvoiceController/InvoiceControllerState/AutoComplete/index.ts +26 -26
  34. package/src/Invoice/InvoiceController/InvoiceControllerState/BuyerState/index.tsx +88 -88
  35. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/Drag/index.ts +15 -15
  36. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/EndowCode/index.tsx +104 -104
  37. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/IColumnsReplenish/index.ts +10 -10
  38. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/IGood/index.ts +87 -87
  39. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/ImportGoods/index.ts +81 -81
  40. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/LineAttributeType/index.ts +7 -7
  41. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/ProductComparison/index.ts +9 -9
  42. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/index.ts +131 -131
  43. package/src/Invoice/InvoiceController/InvoiceControllerState/Stakeholder/index.ts +13 -13
  44. package/src/Invoice/InvoiceController/InvoiceControllerState/index.ts +65 -65
  45. package/src/Invoice/InvoiceController/fns/addGood.ts +11 -11
  46. package/src/Invoice/InvoiceController/fns/addGoodDiscount.ts +126 -126
  47. package/src/Invoice/InvoiceController/fns/addGoodDiscountV2.ts +86 -86
  48. package/src/Invoice/InvoiceController/fns/delGood.ts +41 -41
  49. package/src/Invoice/InvoiceController/fns/getGoodsSearch.ts +26 -26
  50. package/src/Invoice/InvoiceController/fns/importGoodsDrawer.ts +79 -79
  51. package/src/Invoice/InvoiceController/fns/itemBlur.ts +40 -40
  52. package/src/Invoice/InvoiceController/fns/mergeDetails.ts +201 -201
  53. package/src/Invoice/InvoiceController/fns/mergeDiscount.ts +35 -35
  54. package/src/Invoice/InvoiceController/fns/saveEditGood.ts +24 -24
  55. package/src/Invoice/InvoiceController/fns/setEditGood.ts +16 -16
  56. package/src/Invoice/InvoiceController/fns/setGoods.ts +10 -10
  57. package/src/Invoice/InvoiceController/fns/updateInvoiceNo.ts +8 -8
  58. package/src/Invoice/InvoiceController/index.ts +87 -87
  59. package/src/Invoice/_test/buyerNameSearch/index.tsx +42 -42
  60. package/src/Invoice/_test/children/index.tsx +214 -214
  61. package/src/Invoice/_test/deduction/index.tsx +935 -935
  62. package/src/Invoice/_test/draft/index.tsx +40 -40
  63. package/src/Invoice/_test/easiest/index.tsx +5 -5
  64. package/src/Invoice/_test/endowCode/index.tsx +1158 -1158
  65. package/src/Invoice/_test/goodsMenuExpand/index.tsx +32 -32
  66. package/src/Invoice/_test/importBuyer/index.tsx +74 -74
  67. package/src/Invoice/_test/importGoods/index.tsx +1197 -1197
  68. package/src/Invoice/_test/invoiceType/index.tsx +59 -59
  69. package/src/Invoice/_test/isInvoiceNo/index.tsx +12 -12
  70. package/src/Invoice/_test/replaceHead/index.tsx +22 -22
  71. package/src/Invoice/_test/retrieveData/index.tsx +22 -22
  72. package/src/Invoice/_test/seller/index.tsx +28 -28
  73. package/src/Invoice/_test/setDataSource/index.tsx +73 -73
  74. package/src/Invoice/_test/unit/index.tsx +19 -19
  75. package/src/Invoice/index.less +31 -31
  76. package/src/Invoice/index.md +56 -56
  77. package/src/Invoice/index.tsx +183 -183
  78. package/src/Invoice/tools/calculate/index.ts +132 -132
  79. package/src/Invoice/tools/coolingFn/index.ts +17 -17
  80. package/src/Invoice/tools/evaluate/index.ts +7 -7
  81. package/src/Invoice/tools/idGenerator/index.ts +2 -2
  82. package/src/Invoice/tools/itemName/index.ts +55 -55
  83. package/src/Invoice/tools/lazyFn/index.ts +19 -19
  84. package/src/Invoice/tools/mounting/index.ts +13 -13
  85. package/src/Invoice/tools/strringFn/index.ts +40 -40
  86. package/src/Invoice/tools/useToGenerateId/index.ts +8 -8
  87. package/src/Invoice/tools/utils/index.ts +1 -1
  88. package/src/Invoice/tools/utils/money/index.ts +20 -20
  89. package/src/Invoice/ui/default/AddComparisonDrawer/index.tsx +149 -149
  90. package/src/Invoice/ui/default/Buyer/index.less +219 -219
  91. package/src/Invoice/ui/default/Buyer/index.tsx +114 -114
  92. package/src/Invoice/ui/default/Buyer/ui/BuyerNameInput/index.tsx +166 -166
  93. package/src/Invoice/ui/default/Buyer/ui/ImportBuyerButton/index.tsx +21 -21
  94. package/src/Invoice/ui/default/EndowCodeDrawer/index.less +8 -8
  95. package/src/Invoice/ui/default/EndowCodeDrawer/index.tsx +592 -586
  96. package/src/Invoice/ui/default/GoodsList/hook/useColumns/autoFillFn/index.ts +647 -647
  97. package/src/Invoice/ui/default/GoodsList/hook/useColumns/index.tsx +711 -711
  98. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/Drag/index.less +20 -20
  99. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/Drag/index.tsx +205 -205
  100. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/Expand/index.tsx +57 -57
  101. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemCodeInput/index.less +18 -18
  102. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemCodeInput/index.tsx +49 -49
  103. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemNameInput/index.less +17 -17
  104. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemNameInput/index.tsx +91 -91
  105. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowEditButton/index.tsx +30 -30
  106. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/_useAddComparison/index.tsx +43 -43
  107. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/useAddDiscount/index.tsx +118 -118
  108. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/useDelItem/index.tsx +41 -41
  109. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/useEndowCode/index.tsx +25 -25
  110. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/index.less +13 -13
  111. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/index.tsx +99 -99
  112. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowSaveButton/index.tsx +14 -14
  113. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/TitleText/index.tsx +20 -20
  114. package/src/Invoice/ui/default/GoodsList/hook/useDeduction/index.tsx +24 -24
  115. package/src/Invoice/ui/default/GoodsList/hook/useOnRow/index.tsx +52 -52
  116. package/src/Invoice/ui/default/GoodsList/hook/useRowSelection/index.tsx +120 -120
  117. package/src/Invoice/ui/default/GoodsList/hook/useWindowClick/index.tsx +23 -23
  118. package/src/Invoice/ui/default/GoodsList/index.less +185 -185
  119. package/src/Invoice/ui/default/GoodsList/index.tsx +205 -205
  120. package/src/Invoice/ui/default/GoodsList/ui/AddRowButton/index.tsx +65 -65
  121. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/index.less +21 -21
  122. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/index.tsx +244 -244
  123. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useCommodityComparisonButton/index.tsx +75 -75
  124. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useDelRowButton/index.tsx +69 -69
  125. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useEndowCodeButton/index.tsx +65 -65
  126. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useMergeDetails/index.tsx +91 -91
  127. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useMergeDiscount/index.tsx +36 -36
  128. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useSalesDiscount/index.tsx +109 -109
  129. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useSalesGifts/index.tsx +94 -94
  130. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/index.tsx +37 -37
  131. package/src/Invoice/ui/default/GoodsList/ui/DescribeSwitch/index.tsx +36 -36
  132. package/src/Invoice/ui/default/GoodsList/ui/Search/index.less +10 -10
  133. package/src/Invoice/ui/default/GoodsList/ui/Search/index.tsx +52 -52
  134. package/src/Invoice/ui/default/GoodsList/ui/Statistics/index.less +18 -18
  135. package/src/Invoice/ui/default/GoodsList/ui/Statistics/index.tsx +114 -114
  136. package/src/Invoice/ui/default/GoodsList/ui/TableRow/index.less +40 -40
  137. package/src/Invoice/ui/default/GoodsList/ui/TableRow/index.tsx +71 -71
  138. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual/index.less +38 -38
  139. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual/index.tsx +130 -130
  140. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual.o/index.less +44 -44
  141. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual.o/index.tsx +96 -96
  142. package/src/Invoice/ui/default/GoodsList/ui/TaxIncludedSwitch/index.tsx +31 -31
  143. package/src/Invoice/ui/default/ImportBuyerDrawer/index.tsx +75 -75
  144. package/src/Invoice/ui/default/ImportGoodsDrawer/index.tsx +198 -198
  145. package/src/Invoice/ui/default/InvoiceHeader/index.less +68 -68
  146. package/src/Invoice/ui/default/InvoiceHeader/index.tsx +246 -246
  147. package/src/Invoice/ui/default/Seller/index.less +113 -113
  148. package/src/Invoice/ui/default/Seller/index.tsx +98 -98
  149. package/src/Invoice/ui/default/Sign/index.less +14 -14
  150. package/src/Invoice/ui/default/Sign/index.tsx +71 -71
  151. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/autoFillFn/index.ts +639 -639
  152. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/index.tsx +660 -660
  153. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/svg/plus.svg +11 -11
  154. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/Drag/index.less +20 -20
  155. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/Drag/index.tsx +205 -205
  156. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/ItemNameInput/index.less +9 -9
  157. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/ItemNameInput/index.tsx +87 -87
  158. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowEditButton/index.tsx +30 -30
  159. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/_useAddComparison/index.tsx +43 -43
  160. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useAddDiscount/index.tsx +76 -76
  161. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useDelItem/index.tsx +41 -41
  162. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useEndowCode/index.tsx +34 -34
  163. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/index.less +13 -13
  164. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/index.tsx +98 -98
  165. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowSaveButton/index.tsx +14 -14
  166. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/TitleText/index.tsx +20 -20
  167. package/src/Invoice/ui/digtal/GoodsList/hook/useOnRow/index.tsx +51 -51
  168. package/src/Invoice/ui/digtal/GoodsList/hook/useRowSelection/index.tsx +121 -121
  169. package/src/Invoice/ui/digtal/GoodsList/hook/useWindowClick/index.tsx +23 -23
  170. package/src/Invoice/ui/digtal/GoodsList/index.less +56 -56
  171. package/src/Invoice/ui/digtal/GoodsList/index.tsx +180 -180
  172. package/src/Invoice/ui/digtal/GoodsList/ui/AddRowButton/index.tsx +67 -67
  173. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/index.tsx +340 -340
  174. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/svg/add.svg +11 -11
  175. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useCommodityComparisonButton/index.tsx +75 -75
  176. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useDelRowButton/index.tsx +50 -50
  177. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useEmptyRefill/index.tsx +37 -37
  178. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useEndowCodeButton/index.tsx +82 -82
  179. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useReselectInvoiceType/index.tsx +57 -57
  180. package/src/Invoice/ui/digtal/GoodsList/ui/DescribeSwitch/index.tsx +36 -36
  181. package/src/Invoice/ui/digtal/GoodsList/ui/Search/index.less +11 -11
  182. package/src/Invoice/ui/digtal/GoodsList/ui/Search/index.tsx +50 -50
  183. package/src/Invoice/ui/digtal/GoodsList/ui/Statistics/index.less +53 -53
  184. package/src/Invoice/ui/digtal/GoodsList/ui/Statistics/index.tsx +98 -98
  185. package/src/Invoice/ui/digtal/GoodsList/ui/Statistics/svg/fork.svg +11 -11
  186. package/src/Invoice/ui/digtal/GoodsList/ui/TableRow/index.less +28 -28
  187. package/src/Invoice/ui/digtal/GoodsList/ui/TableRow/index.tsx +53 -53
  188. package/src/Invoice/ui/digtal/GoodsList/ui/TableVirtual/index.less +38 -38
  189. package/src/Invoice/ui/digtal/GoodsList/ui/TableVirtual/index.tsx +108 -108
  190. package/src/Invoice/ui/digtal/GoodsList/ui/TaxIncludedSwitch/index.tsx +31 -31
  191. package/src/Invoice/ui/digtal/InvoiceHeader/index.less +57 -57
  192. package/src/Invoice/ui/digtal/InvoiceHeader/index.tsx +77 -77
  193. package/src/Invoice/ui/digtal/RealEstateInfo/index.less +14 -14
  194. package/src/Invoice/ui/digtal/RealEstateInfo/index.tsx +192 -192
  195. package/src/Invoice/ui/digtal/Sign/index.less +48 -48
  196. package/src/Invoice/ui/digtal/Sign/index.tsx +99 -99
  197. package/src/Invoice/ui/digtal/StakeFarmerholder/index.less +99 -99
  198. package/src/Invoice/ui/digtal/StakeFarmerholder/index.tsx +436 -435
  199. package/src/Invoice/ui/digtal/StakeFarmerholder/svg/arrowDown.svg +2 -2
  200. package/src/Invoice/ui/digtal/StakeFarmerholder/svg/arrowUp.svg +2 -2
  201. package/src/Invoice/ui/digtal/StakeFarmerholder/svg/plus.svg +11 -11
  202. package/src/Invoice/ui/digtal/Stakeholder/index.less +99 -99
  203. package/src/Invoice/ui/digtal/Stakeholder/index.tsx +396 -396
  204. package/src/Invoice/ui/digtal/Stakeholder/svg/arrowDown.svg +2 -2
  205. package/src/Invoice/ui/digtal/Stakeholder/svg/arrowUp.svg +2 -2
  206. package/src/Invoice/ui/digtal/Stakeholder/svg/plus.svg +11 -11
  207. package/src/InvoiceTypeModal/_test/easiest/index.tsx +31 -31
  208. package/src/InvoiceTypeModal/index.less +7 -7
  209. package/src/InvoiceTypeModal/index.md +5 -5
  210. package/src/InvoiceTypeModal/index.tsx +161 -161
  211. package/src/TaxClassificationCodeModal/_test/easiest/index.tsx +184 -180
  212. package/src/TaxClassificationCodeModal/index.less +5 -5
  213. package/src/TaxClassificationCodeModal/index.md +6 -6
  214. package/src/TaxClassificationCodeModal/index.tsx +141 -107
  215. package/src/index.ts +12 -12
  216. package/tsconfig.json +31 -31
  217. package/typings.d.ts +3 -3
@@ -1,77 +1,77 @@
1
-
2
- import React from "react";
3
- import { Form } from 'kts-components-antd-x3';
4
- import { FormComponentProps } from 'kts-components-antd-x3/lib/form';
5
- import { decorator } from "grey-react-box";
6
- import Invoice from "../../../../Invoice";
7
- import './index.less'
8
-
9
-
10
- export interface IInvoiceHeader {
11
- /** 标题 */
12
- title?: string;
13
-
14
- /** 标记文字 */
15
- defaultTag?: string;
16
-
17
- /** 默认 发票号码 */
18
- defaultNo?: string;
19
-
20
- /** 默认 开票日期 */
21
- defaultInvoicingDate?: string;
22
- }
23
-
24
- export default decorator<IInvoiceHeader, IInvoiceHeader & FormComponentProps>(Form.create())(props => {
25
-
26
- const { form } = props;
27
-
28
- /** 控制器 */
29
- const controller = Invoice.useInvoiceController();
30
-
31
- const title = React.useMemo(() => {
32
- if (props.title) {
33
- return props.title
34
- }
35
- return '电子发票(增值税专用发票)'
36
- }, [props.title])
37
-
38
- controller.useForm('invoiceHeader', form);
39
-
40
- return (
41
- <div className="kts-invoice-operate-invoice-digtal-header" >
42
- <div className="digtal-header-title" >{title}</div>
43
- {form.getFieldDecorator('tag', { initialValue: props.defaultTag })(<Tag />)}
44
- <div className="digtal-header-fields" >
45
- {form.getFieldDecorator('no', { initialValue: props.defaultNo })(<Field title="发票号码:" />)}
46
- {form.getFieldDecorator('invoicingDate', { initialValue: props.defaultInvoicingDate })(<Field title="开票日期:" />)}
47
- </div>
48
- </div>
49
- )
50
- })
51
-
52
- /** 字段 */
53
- class Field extends React.Component<{ title: string, value?: string }>{
54
- render(): React.ReactNode {
55
- const { title, value } = this.props;
56
- if (value) {
57
- return (
58
- <div className="digtal-header-field" >
59
- <div className="digtal-header-field-title" >{title}</div>
60
- <div className="digtal-header-field-value" >{value}</div>
61
- </div>
62
- )
63
- } else {
64
- return <></>
65
- }
66
- }
67
- }
68
-
69
- class Tag extends React.Component<{ value?: string }>{
70
- render(): React.ReactNode {
71
- return (
72
- this.props.value
73
- ? <div className="digtal-header-tag" >{this.props.value}</div>
74
- : <></>
75
- )
76
- }
77
- }
1
+
2
+ import React from "react";
3
+ import { Form } from 'kts-components-antd-x3';
4
+ import { FormComponentProps } from 'kts-components-antd-x3/lib/form';
5
+ import { decorator } from "grey-react-box";
6
+ import Invoice from "../../../../Invoice";
7
+ import './index.less'
8
+
9
+
10
+ export interface IInvoiceHeader {
11
+ /** 标题 */
12
+ title?: string;
13
+
14
+ /** 标记文字 */
15
+ defaultTag?: string;
16
+
17
+ /** 默认 发票号码 */
18
+ defaultNo?: string;
19
+
20
+ /** 默认 开票日期 */
21
+ defaultInvoicingDate?: string;
22
+ }
23
+
24
+ export default decorator<IInvoiceHeader, IInvoiceHeader & FormComponentProps>(Form.create())(props => {
25
+
26
+ const { form } = props;
27
+
28
+ /** 控制器 */
29
+ const controller = Invoice.useInvoiceController();
30
+
31
+ const title = React.useMemo(() => {
32
+ if (props.title) {
33
+ return props.title
34
+ }
35
+ return '电子发票(增值税专用发票)'
36
+ }, [props.title])
37
+
38
+ controller.useForm('invoiceHeader', form);
39
+
40
+ return (
41
+ <div className="kts-invoice-operate-invoice-digtal-header" >
42
+ <div className="digtal-header-title" >{title}</div>
43
+ {form.getFieldDecorator('tag', { initialValue: props.defaultTag })(<Tag />)}
44
+ <div className="digtal-header-fields" >
45
+ {form.getFieldDecorator('no', { initialValue: props.defaultNo })(<Field title="发票号码:" />)}
46
+ {form.getFieldDecorator('invoicingDate', { initialValue: props.defaultInvoicingDate })(<Field title="开票日期:" />)}
47
+ </div>
48
+ </div>
49
+ )
50
+ })
51
+
52
+ /** 字段 */
53
+ class Field extends React.Component<{ title: string, value?: string }>{
54
+ render(): React.ReactNode {
55
+ const { title, value } = this.props;
56
+ if (value) {
57
+ return (
58
+ <div className="digtal-header-field" >
59
+ <div className="digtal-header-field-title" >{title}</div>
60
+ <div className="digtal-header-field-value" >{value}</div>
61
+ </div>
62
+ )
63
+ } else {
64
+ return <></>
65
+ }
66
+ }
67
+ }
68
+
69
+ class Tag extends React.Component<{ value?: string }>{
70
+ render(): React.ReactNode {
71
+ return (
72
+ this.props.value
73
+ ? <div className="digtal-header-tag" >{this.props.value}</div>
74
+ : <></>
75
+ )
76
+ }
77
+ }
@@ -1,15 +1,15 @@
1
- .kts-invoice-operate-real-estate-info-digtal {
2
- padding : 20px;
3
- border-bottom: 2px solid #9F613E;
4
- border-left : 2px solid #9F613E;
5
- border-right : 2px solid #9F613E;
6
-
7
- .real-estate-info-digtal-label {
8
- color : #9F613E;
9
- font-weight: bold;
10
- }
11
-
12
- .ktsAnt3x-row.ktsAnt3x-form-item {
13
- margin-bottom: 0;
14
- }
1
+ .kts-invoice-operate-real-estate-info-digtal {
2
+ padding : 20px;
3
+ border-bottom: 2px solid #9F613E;
4
+ border-left : 2px solid #9F613E;
5
+ border-right : 2px solid #9F613E;
6
+
7
+ .real-estate-info-digtal-label {
8
+ color : #9F613E;
9
+ font-weight: bold;
10
+ }
11
+
12
+ .ktsAnt3x-row.ktsAnt3x-form-item {
13
+ margin-bottom: 0;
14
+ }
15
15
  }
@@ -1,192 +1,192 @@
1
-
2
- import React from "react";
3
- import { decorator } from 'grey-react-box';
4
- import { Form } from 'kts-components-antd-x3';
5
- import { FormComponentProps } from 'kts-components-antd-x3/lib/form';
6
- import Invoice from '../../..';
7
- import './index.less';
8
- import { Cascader, Col, DatePicker, Input, Row, Select } from "kts-components-antd-x4";
9
- import moment from "moment";
10
-
11
- const { RangePicker } = DatePicker;
12
-
13
- export interface RealEstateInfoProps {
14
- /**
15
- * 不动产地址数据
16
- */
17
- realEstateAddressOptions?: any[];
18
-
19
- /**
20
- * 不动产地址数据字段名
21
- */
22
- realEstateAddressFieldNames?: any;
23
- }
24
-
25
- /** 特殊信息-不动产经营租赁服务 */
26
- export default decorator<RealEstateInfoProps, FormComponentProps & RealEstateInfoProps>(Form.create())(props => {
27
-
28
- /** 控制器 */
29
- const controller = Invoice.useInvoiceController();
30
-
31
- const { form } = props;
32
-
33
- const { getFieldDecorator } = form;
34
-
35
- const model = controller.useMemo(s => s.model, []);
36
-
37
- const readOnly = React.useMemo(() => model === 'readOnly', [model]);
38
-
39
- // 注册 form
40
- controller.useForm('realEstateInfo', form);
41
-
42
- return (
43
- <div className="kts-invoice-operate-real-estate-info-digtal">
44
- <div className='real-estate-info-digtal-label' >特殊信息-不动产经营租赁服务</div>
45
- <Row gutter={[17, 0]}>
46
- <Col span={6} >
47
- <Form.Item label='不动产地址' >
48
- {getFieldDecorator('realEstateAddress', {
49
- rules: readOnly ? [] : [{ required: true, message: '请选择不动产地址' }]
50
- })(
51
- readOnly
52
- ? (<MyArrString />)
53
- : (<Cascader
54
- style={{ width: '100%' }}
55
- options={props.realEstateAddressOptions}
56
- fieldNames={props.realEstateAddressFieldNames}
57
- placeholder="请选择省市区县"
58
- />)
59
- )}
60
- </Form.Item>
61
- </Col>
62
- <Col span={6} >
63
- <Form.Item label='详细地址' >
64
- {getFieldDecorator('realEstateDetailedAddress', {
65
- rules: readOnly ? [] : [
66
- { required: true, message: '请输入详细地址' },
67
- { max: 120, message: '详细地址最多120个字符' },
68
- {
69
- validator: (_, value) => {
70
- const pattern = /街|路|村|乡|镇|道|巷|号/;
71
- return pattern.test(value) ? Promise.resolve() : Promise.reject('地址必须包含“街”、“路”、“村”、“乡”、“镇”、“道”、“巷”、“号”等任意一个关键词');
72
- }
73
- }
74
- ]
75
- })(
76
- readOnly
77
- ? <MyDiv />
78
- : <Input autoComplete='off' placeholder="请输入详细地址" />
79
- )}
80
- </Form.Item>
81
- </Col>
82
- <Col span={6} >
83
- <Form.Item label='租赁期起止' >
84
- {getFieldDecorator('leaseTerm', {
85
- rules: readOnly ? [] : [{ required: true, message: '请输入租赁期' }]
86
- })(
87
- readOnly
88
- ? <MyArrMoment />
89
- : <RangePicker style={{ width: '100%' }} />
90
- )}
91
- </Form.Item>
92
- </Col>
93
- <Col span={6} >
94
- <Form.Item label='跨地(市)标志' >
95
- {getFieldDecorator('crossCitiesSign', {
96
- rules: readOnly ? [] : [
97
- { required: true, message: '请选择跨地(市)标志' }
98
- ]
99
- })(
100
- readOnly
101
- ? <MyNY />
102
- : <Select placeholder='请选择' style={{ width: '100%' }} >
103
- <Select.Option value='Y'>是</Select.Option>
104
- <Select.Option value='N'>否</Select.Option>
105
- </Select>
106
- )}
107
- </Form.Item>
108
- </Col>
109
- <Col span={6} >
110
- <Form.Item label='产权证书/不动产权证号' >
111
- {getFieldDecorator('realEstateNumber', {
112
- rules: readOnly ? [] : [
113
- { required: true, message: '请输入证书编号,若没有证书填写“无”' },
114
- { max: 40, message: '证书编号最多40个字符' },
115
- ]
116
- })(
117
- readOnly
118
- ? <MyDiv />
119
- : <Input autoComplete='off' placeholder="请输入证书编号,若没有证书填写“无”" />
120
- )}
121
- </Form.Item>
122
- </Col>
123
- <Col span={6} >
124
- <Form.Item label='面积单位' >
125
- {getFieldDecorator('realEstateUnit', {
126
- rules: readOnly ? [] : [{ required: true, message: '请选择面积单位' }]
127
- })(
128
- readOnly
129
- ? <MyDiv />
130
- : <Select placeholder='请选择' style={{ width: '100%' }} >
131
- <Select.Option value="平方千米">平方千米</Select.Option>
132
- <Select.Option value="平方米">平方米</Select.Option>
133
- <Select.Option value="公顷">公顷</Select.Option>
134
- <Select.Option value="亩">亩</Select.Option>
135
- <Select.Option value="h㎡">h㎡</Select.Option>
136
- <Select.Option value="k㎡">k㎡</Select.Option>
137
- <Select.Option value="㎡">㎡</Select.Option>
138
- </Select>
139
- )}
140
- </Form.Item>
141
- </Col>
142
- </Row>
143
- </div>
144
- )
145
- })
146
-
147
- class MyDiv extends React.Component<{ value?: string, style?: React.CSSProperties }> {
148
- render(): React.ReactNode {
149
- return (
150
- <div style={this.props.style}>{this.props.value}</div>
151
- )
152
- }
153
- }
154
-
155
- class MyArrString extends React.Component<{ value?: string[], style?: React.CSSProperties }> {
156
- render(): React.ReactNode {
157
- return (
158
- <div style={this.props.style}>
159
- {
160
- this.props.value?.filter(e => !!e)
161
- .join(',')
162
- }
163
- </div>
164
- )
165
- }
166
- }
167
-
168
- class MyArrMoment extends React.Component<{ value?: moment.Moment[], style?: React.CSSProperties }> {
169
- render(): React.ReactNode {
170
- const { value = [] } = this.props
171
- return (
172
- <div style={this.props.style}>
173
- <span>{moment.isMoment(value[0]) && value[0].format('YYYY-MM-DD')}</span>
174
- <span style={{ color: '#9F603D', fontWeight: 600 }} > - </span>
175
- <span>{moment.isMoment(value[1]) && value[0].format('YYYY-MM-DD')}</span>
176
- </div>
177
- )
178
- }
179
- }
180
-
181
- class MyNY extends React.Component<{ value?: 'Y' | 'N', style?: React.CSSProperties }> {
182
- render(): React.ReactNode {
183
- return (
184
- <div style={this.props.style}>
185
- {
186
- this.props.value === 'Y' ? '是' : '否'
187
- }
188
- </div>
189
- )
190
- }
191
- }
192
-
1
+
2
+ import React from "react";
3
+ import { decorator } from 'grey-react-box';
4
+ import { Form } from 'kts-components-antd-x3';
5
+ import { FormComponentProps } from 'kts-components-antd-x3/lib/form';
6
+ import Invoice from '../../..';
7
+ import './index.less';
8
+ import { Cascader, Col, DatePicker, Input, Row, Select } from "kts-components-antd-x4";
9
+ import moment from "moment";
10
+
11
+ const { RangePicker } = DatePicker;
12
+
13
+ export interface RealEstateInfoProps {
14
+ /**
15
+ * 不动产地址数据
16
+ */
17
+ realEstateAddressOptions?: any[];
18
+
19
+ /**
20
+ * 不动产地址数据字段名
21
+ */
22
+ realEstateAddressFieldNames?: any;
23
+ }
24
+
25
+ /** 特殊信息-不动产经营租赁服务 */
26
+ export default decorator<RealEstateInfoProps, FormComponentProps & RealEstateInfoProps>(Form.create())(props => {
27
+
28
+ /** 控制器 */
29
+ const controller = Invoice.useInvoiceController();
30
+
31
+ const { form } = props;
32
+
33
+ const { getFieldDecorator } = form;
34
+
35
+ const model = controller.useMemo(s => s.model, []);
36
+
37
+ const readOnly = React.useMemo(() => model === 'readOnly', [model]);
38
+
39
+ // 注册 form
40
+ controller.useForm('realEstateInfo', form);
41
+
42
+ return (
43
+ <div className="kts-invoice-operate-real-estate-info-digtal">
44
+ <div className='real-estate-info-digtal-label' >特殊信息-不动产经营租赁服务</div>
45
+ <Row gutter={[17, 0]}>
46
+ <Col span={6} >
47
+ <Form.Item label='不动产地址' >
48
+ {getFieldDecorator('realEstateAddress', {
49
+ rules: readOnly ? [] : [{ required: true, message: '请选择不动产地址' }]
50
+ })(
51
+ readOnly
52
+ ? (<MyArrString />)
53
+ : (<Cascader
54
+ style={{ width: '100%' }}
55
+ options={props.realEstateAddressOptions}
56
+ fieldNames={props.realEstateAddressFieldNames}
57
+ placeholder="请选择省市区县"
58
+ />)
59
+ )}
60
+ </Form.Item>
61
+ </Col>
62
+ <Col span={6} >
63
+ <Form.Item label='详细地址' >
64
+ {getFieldDecorator('realEstateDetailedAddress', {
65
+ rules: readOnly ? [] : [
66
+ { required: true, message: '请输入详细地址' },
67
+ { max: 120, message: '详细地址最多120个字符' },
68
+ {
69
+ validator: (_, value) => {
70
+ const pattern = /街|路|村|乡|镇|道|巷|号/;
71
+ return pattern.test(value) ? Promise.resolve() : Promise.reject('地址必须包含“街”、“路”、“村”、“乡”、“镇”、“道”、“巷”、“号”等任意一个关键词');
72
+ }
73
+ }
74
+ ]
75
+ })(
76
+ readOnly
77
+ ? <MyDiv />
78
+ : <Input autoComplete='off' placeholder="请输入详细地址" />
79
+ )}
80
+ </Form.Item>
81
+ </Col>
82
+ <Col span={6} >
83
+ <Form.Item label='租赁期起止' >
84
+ {getFieldDecorator('leaseTerm', {
85
+ rules: readOnly ? [] : [{ required: true, message: '请输入租赁期' }]
86
+ })(
87
+ readOnly
88
+ ? <MyArrMoment />
89
+ : <RangePicker style={{ width: '100%' }} />
90
+ )}
91
+ </Form.Item>
92
+ </Col>
93
+ <Col span={6} >
94
+ <Form.Item label='跨地(市)标志' >
95
+ {getFieldDecorator('crossCitiesSign', {
96
+ rules: readOnly ? [] : [
97
+ { required: true, message: '请选择跨地(市)标志' }
98
+ ]
99
+ })(
100
+ readOnly
101
+ ? <MyNY />
102
+ : <Select placeholder='请选择' style={{ width: '100%' }} >
103
+ <Select.Option value='Y'>是</Select.Option>
104
+ <Select.Option value='N'>否</Select.Option>
105
+ </Select>
106
+ )}
107
+ </Form.Item>
108
+ </Col>
109
+ <Col span={6} >
110
+ <Form.Item label='产权证书/不动产权证号' >
111
+ {getFieldDecorator('realEstateNumber', {
112
+ rules: readOnly ? [] : [
113
+ { required: true, message: '请输入证书编号,若没有证书填写“无”' },
114
+ { max: 40, message: '证书编号最多40个字符' },
115
+ ]
116
+ })(
117
+ readOnly
118
+ ? <MyDiv />
119
+ : <Input autoComplete='off' placeholder="请输入证书编号,若没有证书填写“无”" />
120
+ )}
121
+ </Form.Item>
122
+ </Col>
123
+ <Col span={6} >
124
+ <Form.Item label='面积单位' >
125
+ {getFieldDecorator('realEstateUnit', {
126
+ rules: readOnly ? [] : [{ required: true, message: '请选择面积单位' }]
127
+ })(
128
+ readOnly
129
+ ? <MyDiv />
130
+ : <Select placeholder='请选择' style={{ width: '100%' }} >
131
+ <Select.Option value="平方千米">平方千米</Select.Option>
132
+ <Select.Option value="平方米">平方米</Select.Option>
133
+ <Select.Option value="公顷">公顷</Select.Option>
134
+ <Select.Option value="亩">亩</Select.Option>
135
+ <Select.Option value="h㎡">h㎡</Select.Option>
136
+ <Select.Option value="k㎡">k㎡</Select.Option>
137
+ <Select.Option value="㎡">㎡</Select.Option>
138
+ </Select>
139
+ )}
140
+ </Form.Item>
141
+ </Col>
142
+ </Row>
143
+ </div>
144
+ )
145
+ })
146
+
147
+ class MyDiv extends React.Component<{ value?: string, style?: React.CSSProperties }> {
148
+ render(): React.ReactNode {
149
+ return (
150
+ <div style={this.props.style}>{this.props.value}</div>
151
+ )
152
+ }
153
+ }
154
+
155
+ class MyArrString extends React.Component<{ value?: string[], style?: React.CSSProperties }> {
156
+ render(): React.ReactNode {
157
+ return (
158
+ <div style={this.props.style}>
159
+ {
160
+ this.props.value?.filter(e => !!e)
161
+ .join(',')
162
+ }
163
+ </div>
164
+ )
165
+ }
166
+ }
167
+
168
+ class MyArrMoment extends React.Component<{ value?: moment.Moment[], style?: React.CSSProperties }> {
169
+ render(): React.ReactNode {
170
+ const { value = [] } = this.props
171
+ return (
172
+ <div style={this.props.style}>
173
+ <span>{moment.isMoment(value[0]) && value[0].format('YYYY-MM-DD')}</span>
174
+ <span style={{ color: '#9F603D', fontWeight: 600 }} > - </span>
175
+ <span>{moment.isMoment(value[1]) && value[0].format('YYYY-MM-DD')}</span>
176
+ </div>
177
+ )
178
+ }
179
+ }
180
+
181
+ class MyNY extends React.Component<{ value?: 'Y' | 'N', style?: React.CSSProperties }> {
182
+ render(): React.ReactNode {
183
+ return (
184
+ <div style={this.props.style}>
185
+ {
186
+ this.props.value === 'Y' ? '是' : '否'
187
+ }
188
+ </div>
189
+ )
190
+ }
191
+ }
192
+