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,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,194 +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
- : (
54
- <Cascader
55
- style={{ width: '100%' }}
56
- options={props.realEstateAddressOptions}
57
- fieldNames={props.realEstateAddressFieldNames}
58
- placeholder="请选择省市区县"
59
- />
60
- )
61
- )}
62
- </Form.Item>
63
- </Col>
64
- <Col span={6} >
65
- <Form.Item label='详细地址' >
66
- {getFieldDecorator('realEstateDetailedAddress', {
67
- rules: readOnly ? [] : [
68
- { required: true, message: '请输入详细地址' },
69
- { max: 120, message: '详细地址最多120个字符' },
70
- {
71
- validator: (_, value) => {
72
- const pattern = /街|路|村|乡|镇|道|巷|号/;
73
- return pattern.test(value) ? Promise.resolve() : Promise.reject('地址必须包含“街”、“路”、“村”、“乡”、“镇”、“道”、“巷”、“号”等任意一个关键词');
74
- }
75
- }
76
- ]
77
- })(
78
- readOnly
79
- ? <MyDiv />
80
- : <Input autoComplete='off' placeholder="请输入详细地址" />
81
- )}
82
- </Form.Item>
83
- </Col>
84
- <Col span={6} >
85
- <Form.Item label='租赁期起止' >
86
- {getFieldDecorator('leaseTerm', {
87
- rules: readOnly ? [] : [{ required: true, message: '请输入租赁期' }]
88
- })(
89
- readOnly
90
- ? <MyArrMoment />
91
- : <RangePicker style={{ width: '100%' }} />
92
- )}
93
- </Form.Item>
94
- </Col>
95
- <Col span={6} >
96
- <Form.Item label='跨地(市)标志' >
97
- {getFieldDecorator('crossCitiesSign', {
98
- rules: readOnly ? [] : [
99
- { required: true, message: '请选择跨地(市)标志' }
100
- ]
101
- })(
102
- readOnly
103
- ? <MyNY />
104
- : <Select placeholder='请选择' style={{ width: '100%' }} >
105
- <Select.Option value='Y'>是</Select.Option>
106
- <Select.Option value='N'>否</Select.Option>
107
- </Select>
108
- )}
109
- </Form.Item>
110
- </Col>
111
- <Col span={6} >
112
- <Form.Item label='产权证书/不动产权证号' >
113
- {getFieldDecorator('realEstateNumber', {
114
- rules: readOnly ? [] : [
115
- { required: true, message: '请输入证书编号,若没有证书填写“无”' },
116
- { max: 40, message: '证书编号最多40个字符' },
117
- ]
118
- })(
119
- readOnly
120
- ? <MyDiv />
121
- : <Input autoComplete='off' placeholder="请输入证书编号,若没有证书填写“无”" />
122
- )}
123
- </Form.Item>
124
- </Col>
125
- <Col span={6} >
126
- <Form.Item label='面积单位' >
127
- {getFieldDecorator('realEstateUnit', {
128
- rules: readOnly ? [] : [{ required: true, message: '请选择面积单位' }]
129
- })(
130
- readOnly
131
- ? <MyDiv />
132
- : <Select placeholder='请选择' style={{ width: '100%' }} >
133
- <Select.Option value="平方千米">平方千米</Select.Option>
134
- <Select.Option value="平方米">平方米</Select.Option>
135
- <Select.Option value="公顷">公顷</Select.Option>
136
- <Select.Option value="">亩</Select.Option>
137
- <Select.Option value="h㎡">h㎡</Select.Option>
138
- <Select.Option value="k㎡">k㎡</Select.Option>
139
- <Select.Option value="㎡">㎡</Select.Option>
140
- </Select>
141
- )}
142
- </Form.Item>
143
- </Col>
144
- </Row>
145
- </div>
146
- )
147
- })
148
-
149
- class MyDiv extends React.Component<{ value?: string, style?: React.CSSProperties }> {
150
- render(): React.ReactNode {
151
- return (
152
- <div style={this.props.style}>{this.props.value}</div>
153
- )
154
- }
155
- }
156
-
157
- class MyArrString extends React.Component<{ value?: string[], style?: React.CSSProperties }> {
158
- render(): React.ReactNode {
159
- return (
160
- <div style={this.props.style}>
161
- {
162
- this.props.value?.filter(e => !!e)
163
- .join(',')
164
- }
165
- </div>
166
- )
167
- }
168
- }
169
-
170
- class MyArrMoment extends React.Component<{ value?: moment.Moment[], style?: React.CSSProperties }> {
171
- render(): React.ReactNode {
172
- const { value = [] } = this.props
173
- return (
174
- <div style={this.props.style}>
175
- <span>{moment.isMoment(value[0]) && value[0].format('YYYY-MM-DD')}</span>
176
- <span style={{ color: '#9F603D', fontWeight: 600 }} > - </span>
177
- <span>{moment.isMoment(value[1]) && value[0].format('YYYY-MM-DD')}</span>
178
- </div>
179
- )
180
- }
181
- }
182
-
183
- class MyNY extends React.Component<{ value?: 'Y' | 'N', style?: React.CSSProperties }> {
184
- render(): React.ReactNode {
185
- return (
186
- <div style={this.props.style}>
187
- {
188
- this.props.value === 'Y' ? '是' : '否'
189
- }
190
- </div>
191
- )
192
- }
193
- }
194
-
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
+