kts-component-invoice-operate 3.2.227 → 3.2.228-fuling

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 (90) hide show
  1. package/README.md +0 -4
  2. package/dist/Invoice/Invoice-digtal/_test/pay/index.d.ts +4 -0
  3. package/dist/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/IGood/index.d.ts +0 -1
  4. package/dist/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/ImportGoods/index.d.ts +0 -2
  5. package/dist/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/index.d.ts +0 -2
  6. package/dist/Invoice/InvoiceController/InvoiceControllerState/PayListState/IColumnsReplenish/index.d.ts +6 -0
  7. package/dist/Invoice/InvoiceController/InvoiceControllerState/PayListState/IGood/index.d.ts +12 -0
  8. package/dist/Invoice/InvoiceController/InvoiceControllerState/PayListState/ImportGoods/index.d.ts +21 -0
  9. package/dist/Invoice/InvoiceController/InvoiceControllerState/PayListState/index.d.ts +31 -0
  10. package/dist/Invoice/InvoiceController/InvoiceControllerState/index.d.ts +2 -0
  11. package/dist/Invoice/InvoiceController/fns/addPay.d.ts +6 -0
  12. package/dist/Invoice/InvoiceController/fns/delPay.d.ts +6 -0
  13. package/dist/Invoice/InvoiceController/fns/saveEditPay.d.ts +6 -0
  14. package/dist/Invoice/InvoiceController/fns/setEditPay.d.ts +6 -0
  15. package/dist/Invoice/InvoiceController/fns/setPay.d.ts +6 -0
  16. package/dist/Invoice/InvoiceController/index.d.ts +6 -0
  17. package/dist/Invoice/index.d.ts +2 -0
  18. package/dist/Invoice/ui/default/GoodsList/index.d.ts +0 -1
  19. package/dist/Invoice/ui/default/GoodsList/ui/AddRowButton/index.d.ts +1 -1
  20. package/dist/Invoice/ui/digtal/GoodsList/index.d.ts +0 -1
  21. package/dist/Invoice/ui/digtal/GoodsList/ui/TaxIncludedSwitch/index.d.ts +1 -4
  22. package/dist/Invoice/ui/digtal/PayList/hook/useColumns/index.d.ts +3 -0
  23. package/dist/Invoice/ui/digtal/PayList/hook/useColumns/ui/TitleText/index.d.ts +8 -0
  24. package/dist/Invoice/ui/digtal/PayList/hook/useOnRow/index.d.ts +8 -0
  25. package/dist/Invoice/ui/digtal/PayList/hook/useRowSelection/index.d.ts +8 -0
  26. package/dist/Invoice/ui/digtal/PayList/hook/useWindowClick/index.d.ts +5 -0
  27. package/dist/Invoice/ui/digtal/PayList/index.d.ts +18 -0
  28. package/dist/Invoice/ui/digtal/PayList/ui/AddRowButton/index.d.ts +3 -0
  29. package/dist/Invoice/ui/digtal/PayList/ui/BulkMenu/hooks/useDelRowButton/index.d.ts +6 -0
  30. package/dist/Invoice/ui/digtal/PayList/ui/BulkMenu/hooks/useEmptyRefill/index.d.ts +6 -0
  31. package/dist/Invoice/ui/digtal/PayList/ui/TableRow/index.d.ts +3 -0
  32. package/dist/Invoice/ui/digtal/PayList/ui/TableVirtual/index.d.ts +4 -0
  33. package/dist/index.esm.js +8097 -6065
  34. package/dist/index.js +8096 -6064
  35. package/package.json +1 -1
  36. package/src/Invoice/Invoice-digtal/_test/easiest/index.tsx +41 -9
  37. package/src/Invoice/Invoice-digtal/_test/freight/index.tsx +23 -17
  38. package/src/Invoice/Invoice-digtal/_test/pay/index.tsx +14637 -0
  39. package/src/Invoice/Invoice-digtal/_test/realEstateInfo/index.tsx +7 -69
  40. package/src/Invoice/Invoice-digtal/index.md +16 -8
  41. package/src/Invoice/InvoiceController/InvoiceControllerForm/index.ts +11 -0
  42. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/IGood/index.ts +0 -2
  43. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/ImportGoods/index.ts +0 -3
  44. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/index.ts +0 -3
  45. package/src/Invoice/InvoiceController/InvoiceControllerState/PayListState/IColumnsReplenish/index.ts +10 -0
  46. package/src/Invoice/InvoiceController/InvoiceControllerState/PayListState/IGood/index.ts +35 -0
  47. package/src/Invoice/InvoiceController/InvoiceControllerState/PayListState/ImportGoods/index.ts +81 -0
  48. package/src/Invoice/InvoiceController/InvoiceControllerState/PayListState/index.ts +40 -0
  49. package/src/Invoice/InvoiceController/InvoiceControllerState/index.ts +3 -0
  50. package/src/Invoice/InvoiceController/fns/addPay.ts +11 -0
  51. package/src/Invoice/InvoiceController/fns/delPay.ts +38 -0
  52. package/src/Invoice/InvoiceController/fns/saveEditGood.ts +2 -2
  53. package/src/Invoice/InvoiceController/fns/saveEditPay.ts +23 -0
  54. package/src/Invoice/InvoiceController/fns/setEditPay.ts +16 -0
  55. package/src/Invoice/InvoiceController/fns/setPay.ts +11 -0
  56. package/src/Invoice/InvoiceController/index.ts +21 -0
  57. package/src/Invoice/_test/deduction/index.tsx +6 -28
  58. package/src/Invoice/index.md +4 -4
  59. package/src/Invoice/index.tsx +3 -0
  60. package/src/Invoice/tools/useToGenerateId/index.ts +2 -0
  61. package/src/Invoice/ui/default/GoodsList/index.tsx +1 -3
  62. package/src/Invoice/ui/default/GoodsList/ui/AddRowButton/index.tsx +1 -8
  63. package/src/Invoice/ui/default/ImportGoodsDrawer/index.tsx +1 -4
  64. package/src/Invoice/ui/digtal/Architecture/index.tsx +1 -1
  65. package/src/Invoice/ui/digtal/FreightList/index.tsx +1 -1
  66. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/index.tsx +23 -37
  67. package/src/Invoice/ui/digtal/GoodsList/index.tsx +1 -3
  68. package/src/Invoice/ui/digtal/GoodsList/ui/AddRowButton/index.tsx +10 -20
  69. package/src/Invoice/ui/digtal/GoodsList/ui/TableVirtual/index.tsx +6 -11
  70. package/src/Invoice/ui/digtal/GoodsList/ui/TaxIncludedSwitch/index.tsx +2 -5
  71. package/src/Invoice/ui/digtal/PayList/hook/useColumns/dist/index.js +616 -0
  72. package/src/Invoice/ui/digtal/PayList/hook/useColumns/index.tsx +168 -0
  73. package/src/Invoice/ui/digtal/PayList/hook/useColumns/ui/TitleText/index.tsx +20 -0
  74. package/src/Invoice/ui/digtal/PayList/hook/useOnRow/index.tsx +37 -0
  75. package/src/Invoice/ui/digtal/PayList/hook/useRowSelection/index.tsx +120 -0
  76. package/src/Invoice/ui/digtal/PayList/hook/useWindowClick/index.tsx +19 -0
  77. package/src/Invoice/ui/digtal/PayList/index.less +73 -0
  78. package/src/Invoice/ui/digtal/PayList/index.tsx +132 -0
  79. package/src/Invoice/ui/digtal/PayList/ui/AddRowButton/index.tsx +75 -0
  80. package/src/Invoice/ui/digtal/PayList/ui/BulkMenu/hooks/useDelRowButton/index.tsx +50 -0
  81. package/src/Invoice/ui/digtal/PayList/ui/BulkMenu/hooks/useEmptyRefill/index.tsx +37 -0
  82. package/src/Invoice/ui/digtal/PayList/ui/TableRow/index.less +29 -0
  83. package/src/Invoice/ui/digtal/PayList/ui/TableRow/index.tsx +21 -0
  84. package/src/Invoice/ui/digtal/PayList/ui/TableVirtual/index.less +39 -0
  85. package/src/Invoice/ui/digtal/PayList/ui/TableVirtual/index.tsx +109 -0
  86. package/src/Invoice/ui/digtal/RealEstateInfo/index.less +0 -7
  87. package/src/Invoice/ui/digtal/RealEstateInfo/index.tsx +104 -363
  88. package/src/Invoice/ui/digtal/StakeFarmerholder/index.less +1 -1
  89. package/src/Invoice/ui/digtal/StakeFarmerholder/index.tsx +528 -207
  90. package/src/Invoice/ui/digtal/Stakeholder/index.tsx +4 -22
@@ -0,0 +1,37 @@
1
+
2
+ import Invoice from '../../../../../../..';
3
+ import { Button, Popconfirm } from "kts-xui"
4
+ import React from "react"
5
+
6
+ /** 清空重填 */
7
+ export default () => {
8
+
9
+ const controller = Invoice.useInvoiceController();
10
+
11
+ const model = controller.useMemo(s => s.model, []);
12
+
13
+ const confirm = React.useCallback(() => {
14
+ controller.run(async s => {
15
+ s.payListState.goodsList = [];
16
+ s.payListState.goodsMap = new Map();
17
+ s.payListState.selectedGoodIndex = [];
18
+ })
19
+ }, [controller])
20
+
21
+ const button = React.useMemo(() => {
22
+ if (model === 'readOnly') return <></>;
23
+ if (model === 'prefab') return <></>;
24
+ return (
25
+ <Popconfirm
26
+ title="将要清空所有项目信息,是否继续"
27
+ onConfirm={confirm}
28
+ okText="确定"
29
+ cancelText="取消"
30
+ >
31
+ <Button size='small' >清空重填</Button>
32
+ </Popconfirm>
33
+ )
34
+ }, [model, confirm])
35
+
36
+ return { button }
37
+ }
@@ -0,0 +1,29 @@
1
+ .kts-invoice-operate-goods-list-itemName-drag-container-u {
2
+ position: relative;
3
+
4
+ &::after {
5
+ content : " ";
6
+ width : 100%;
7
+ height : 2px;
8
+ background: #0074ff;
9
+ position : absolute;
10
+ left : 0;
11
+ top : 0;
12
+ z-index : 9999;
13
+ }
14
+ }
15
+
16
+ .kts-invoice-operate-goods-list-itemName-drag-container-d {
17
+ position: relative;
18
+
19
+ &::after {
20
+ content : " ";
21
+ width : 100%;
22
+ height : 2px;
23
+ background: #0074ff;
24
+ position : absolute;
25
+ left : 0;
26
+ bottom : 0;
27
+ z-index : 9999;
28
+ }
29
+ }
@@ -0,0 +1,21 @@
1
+ import React from "react";
2
+ import Invoice from '../../../../..';
3
+ import { LineAttributeType } from '../../../../../InvoiceController'
4
+ import classnames from 'classnames'
5
+ import './index.less'
6
+
7
+ export default function TableRow(props: any) {
8
+
9
+ const rowKey = props['data-row-key']
10
+
11
+
12
+
13
+
14
+ return <tr
15
+ {...props}
16
+ className={classnames(
17
+ props.className,
18
+ )}
19
+ />
20
+
21
+ }
@@ -0,0 +1,39 @@
1
+ .kts-invoice-operate-goods-table-virtual {
2
+
3
+ .ktsAntX-table-body {
4
+ height: 280px;
5
+ }
6
+
7
+ .ktsAntX-table.ktsAntX-table-bordered>.ktsAntX-table-container>.ktsAntX-table-header>table>thead>tr>th {
8
+ padding : 0 10px;
9
+ height : 32px;
10
+ background: #f4f4f4;
11
+ }
12
+
13
+ .ktsAntX-table.ktsAntX-table-bordered>.ktsAntX-table-container>.ktsAntX-table-body>table>tbody>tr>td {
14
+ padding: 0;
15
+ height : 32px;
16
+ }
17
+
18
+ .ktsAntX-table .ktsAntX-table-body {
19
+ position: relative;
20
+ }
21
+
22
+ .ktsAntX-table .ktsAntX-table-body>table {
23
+ position: absolute;
24
+ left : 0;
25
+ top : 0;
26
+ }
27
+
28
+ .ktsAntX-table .ktsAntX-table-tbody {
29
+ position: relative;
30
+ }
31
+
32
+ .ktsAntX-checkbox-wrapper .ktsAntX-checkbox-inner {
33
+ width : 16px;
34
+ height : 16px;
35
+ border : 1px solid #d9d9d9;
36
+ border-radius: 2px;
37
+ top : 1px;
38
+ }
39
+ }
@@ -0,0 +1,109 @@
1
+
2
+ import React from "react";
3
+ import { TableManual, TableProps } from "kts-xui";
4
+ import { Table } from 'kts-components-antd-x4-v4';
5
+ import './index.less';
6
+
7
+ export default function <T extends object = any>(props: TableProps<T>) {
8
+
9
+ const [self, setSelf] = React.useState<HTMLSpanElement | null>(null);
10
+
11
+ const tableBody = React.useMemo(() => {
12
+ if (!self) return;
13
+ return self.querySelector('.ktsAntX-table-body') as HTMLDivElement;
14
+ }, [self]);
15
+
16
+ /** 显示指针 */
17
+ const [pointer, setPointer] = React.useState(0);
18
+
19
+ /** 行高 */
20
+ const rowHeight = React.useMemo(() => {
21
+ if (!self) return 50;
22
+
23
+ const td = self.querySelector('.ktsAntX-table-tbody .ktsAntX-table-row');
24
+ if (!td) return 50;
25
+
26
+ return td.clientHeight;
27
+ }, [self, props.dataSource]);
28
+
29
+ /** 间隔容器 */
30
+ const placeholder = React.useMemo(() => {
31
+ if (!self || !tableBody) return;
32
+ let placeholder = tableBody.querySelector('.table-virtual-placeholder') as HTMLDivElement;
33
+ if (!placeholder) {
34
+ placeholder = document.createElement('div');
35
+ placeholder.className = 'table-virtual-placeholder';
36
+ tableBody.appendChild(placeholder);
37
+ }
38
+ return placeholder;
39
+ }, [self, tableBody]);
40
+
41
+ // 设置占位dom的搞
42
+ const placeholderHeight = React.useMemo(() => {
43
+ if (!self || !rowHeight || !props.dataSource || !placeholder) return;
44
+ const placeholderHeight = rowHeight * props.dataSource.length;
45
+ placeholder.style.height = `${placeholderHeight}px`;
46
+ return placeholderHeight;
47
+ }, [self, rowHeight, props.dataSource, placeholder]);
48
+
49
+ /** 可以容纳的行数 */
50
+ const rowSize = React.useMemo(() => {
51
+ if (!tableBody! || !rowHeight) return 0;
52
+ return Math.ceil(tableBody.clientHeight / rowHeight);
53
+ }, [tableBody, rowHeight, placeholderHeight]);
54
+
55
+ // 计算渲染的行
56
+ const dataSource = React.useMemo(() => {
57
+ if (!props.dataSource) return [];
58
+ if (props.dataSource.length < 10) return props.dataSource;
59
+
60
+ if (!rowSize) return [props.dataSource[0]];
61
+ return props.dataSource?.slice(pointer, pointer + 2 * rowSize);
62
+ }, [props.dataSource, pointer, rowSize]);
63
+
64
+ // 监听滚动
65
+ React.useEffect(() => {
66
+ if (!self || !placeholder || !props.dataSource || !rowHeight || !tableBody || props.dataSource.length < 10)
67
+ return;
68
+
69
+ const onScroll = () => {
70
+ if (!props.dataSource || !tableBody) return;
71
+ setPointer(Math.floor((props.dataSource.length - rowSize) * (tableBody.scrollTop / (placeholder.clientHeight - tableBody.clientHeight))));
72
+ };
73
+ onScroll();
74
+
75
+ tableBody.addEventListener('scroll', onScroll);
76
+ return () => {
77
+ tableBody.removeEventListener('scroll', onScroll);
78
+ };
79
+ }, [self, placeholder, props.dataSource, rowHeight, rowSize]);
80
+
81
+ // 移动列表
82
+ React.useEffect(() => {
83
+ if (!self) return;
84
+
85
+ const table = self.querySelector('.ktsAntX-table .ktsAntX-table-body>table') as HTMLDivElement;
86
+ if (!table) return;
87
+
88
+ table.style.top = `${pointer * rowHeight}px`;
89
+ }, [pointer, self, rowHeight]);
90
+
91
+ React.useEffect(() => {
92
+ if (!self) return;
93
+ const cont = self.querySelector('.kts-invoice-operate-goods-table-virtual .ktsAntX-table-body');
94
+ if (!cont) return;
95
+
96
+ cont.scrollTop = 0;
97
+ }, [props.dataSource?.length])
98
+
99
+ return (
100
+ <span className="kts-invoice-operate-goods-table-virtual" ref={(e) => { setSelf(e) }} >
101
+ <TableManual
102
+ {...props}
103
+ dataSource={dataSource}
104
+ // 新版本Table会有输入框无法连续输入的问题,先兼容老版本
105
+ tableComponent={Table as any}
106
+ />
107
+ </span>
108
+ )
109
+ }
@@ -12,11 +12,4 @@
12
12
  .ktsAnt3x-row.ktsAnt3x-form-item {
13
13
  margin-bottom: 0;
14
14
  }
15
- .ktsAntX-row{
16
- border-bottom: 1px dashed #9F613E;
17
- &:last-child {
18
- border-bottom: none;
19
- }
20
- }
21
-
22
15
  }