@zgfe/modules-settings 1.2.51-zhongyuan.1 → 1.2.51-zhongyuan.7

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 (89) hide show
  1. package/README.md +33 -33
  2. package/es/components/card/index.less +87 -87
  3. package/es/components/pageLoading/index.less +7 -7
  4. package/es/components/picCircleSelect/bak/index copy 2.tsx.bak +92 -92
  5. package/es/components/picCircleSelect/bak/index copy 3.tsx.bak +58 -58
  6. package/es/components/picCircleSelect/bak/index copy 4.tsx.bak +66 -66
  7. package/es/components/picCircleSelect/bak/index copy 5.tsx.bak +116 -116
  8. package/es/components/picCircleSelect/bak/index copy 6.tsx.bak +116 -116
  9. package/es/components/picCircleSelect/bak/index copy.tsx.bak +41 -41
  10. package/es/components/picCircleSelect/bak/index.tsx.bak +48 -48
  11. package/es/components/picCircleSelect/bak/index1.tsx.bak +46 -46
  12. package/es/components/picCircleSelect/bak/index2.tsx.bak +104 -104
  13. package/es/components/picCircleSelect/index.less +37 -37
  14. package/es/components/processCanvas/styles/customNode.less +149 -149
  15. package/es/components/processCanvas/styles/index.less +34 -34
  16. package/es/components/settingTabs/index.less +51 -51
  17. package/es/constants/api.d.ts +13 -0
  18. package/es/constants/api.js +18 -1
  19. package/es/constants/icons/demo.css +539 -539
  20. package/es/constants/icons/demo_index.html +9871 -9871
  21. package/es/constants/icons/iconfont.css +1699 -1699
  22. package/es/constants/icons/iconfont.json +2956 -2956
  23. package/es/global.d.ts +4 -4
  24. package/es/modules/appSettings/dataAccessFilter/index.less +5 -5
  25. package/es/modules/appSettings/virtualSource/styles/index.less +28 -28
  26. package/es/modules/appSettings/virtualSource/styles/table.less +51 -51
  27. package/es/modules/companySetting/appList/index.less +126 -126
  28. package/es/modules/companySetting/application/index.less +126 -126
  29. package/es/modules/companySetting/business/index.less +92 -92
  30. package/es/modules/companySetting/cost/index.less +38 -38
  31. package/es/modules/companySetting/department/index.less +157 -157
  32. package/es/modules/companySetting/edit/styles/authConfig.less +3 -3
  33. package/es/modules/companySetting/edit/styles/authGroup.less +10 -10
  34. package/es/modules/companySetting/edit/styles/authModule.less +82 -82
  35. package/es/modules/companySetting/edit/styles/user.less +54 -54
  36. package/es/modules/companySetting/edit/styles/userGroup.less +44 -44
  37. package/es/modules/companySetting/index.less +90 -90
  38. package/es/modules/companySetting/info/index.less +42 -42
  39. package/es/modules/companySetting/mainPart/images/img2.svg +12 -12
  40. package/es/modules/companySetting/mainPart/index.less +239 -239
  41. package/es/modules/companySetting/operationLog/index.less +33 -33
  42. package/es/modules/companySetting/role/index.less +296 -296
  43. package/es/modules/companySetting/role/setDataRangeDialog/index.less +37 -37
  44. package/es/modules/companySetting/style/common.less +79 -79
  45. package/es/modules/companySetting/style/reset.less +117 -117
  46. package/es/modules/companySetting/user/index.js +173 -4
  47. package/es/modules/companySetting/user/index.less +11 -0
  48. package/es/modules/companySetting/virtualApp/styles/config.less +37 -37
  49. package/es/modules/companySetting/virtualApp/styles/index.less +21 -21
  50. package/es/modules/companySetting/virtualApp/styles/list.less +28 -28
  51. package/es/modules/companySetting/virtualApp/styles/sourceItem.less +33 -33
  52. package/es/modules/companySetting/virtualApp/styles/table.less +44 -44
  53. package/es/modules/companySetting/wechatBinding/index.less +58 -58
  54. package/es/modules/createDemand/styles/index.less +277 -277
  55. package/es/modules/createDemand_bf/styles/index.less +222 -222
  56. package/es/modules/createProcess/components/index.less +52 -52
  57. package/es/modules/createProcess/index.less +114 -114
  58. package/es/modules/createProcess/title/index.less +53 -53
  59. package/es/modules/dealDemand/styles/index.less +265 -265
  60. package/es/modules/demandManage/styles/index.less +210 -210
  61. package/es/modules/getPassword/index.less +122 -122
  62. package/es/modules/messageList/index.less +81 -81
  63. package/es/modules/personalSetting/securityLog/index.less +11 -11
  64. package/es/modules/personalSetting/styles/unbinding.less +73 -73
  65. package/es/modules/pointMap/ImportModal/styles/index.less +91 -91
  66. package/es/modules/pointMap/editTxt/index.less +55 -55
  67. package/es/modules/pointMap/styles/index.less +38 -38
  68. package/es/modules/pointMap/styles/pageInfo.less +244 -244
  69. package/es/modules/pointMap/styles/tree.css +142 -0
  70. package/es/modules/pointMap/styles/tree.less +29 -0
  71. package/es/modules/pointMap/tree.js +53 -4
  72. package/es/modules/systemSetting/Dictionary.d.ts +3 -0
  73. package/es/modules/systemSetting/Dictionary.js +383 -0
  74. package/es/modules/systemSetting/DictionaryType.d.ts +14 -0
  75. package/es/modules/systemSetting/DictionaryType.js +203 -0
  76. package/es/modules/systemSetting/approvalmanage/approvalStrategy/index.less +14 -14
  77. package/es/modules/systemSetting/approvalmanage/index.less +5 -5
  78. package/es/modules/systemSetting/approvalmanage/processManage/index.less +39 -39
  79. package/es/modules/systemSetting/authUrl.js +2 -2
  80. package/es/modules/systemSetting/document-setting/index.d.ts +3 -0
  81. package/es/modules/systemSetting/document-setting/index.js +467 -0
  82. package/es/modules/systemSetting/img/empty-data.png +0 -0
  83. package/es/modules/systemSetting/index.css +130 -0
  84. package/es/modules/systemSetting/index.js +13 -1
  85. package/es/modules/systemSetting/index.less +136 -0
  86. package/es/modules/systemSetting/notice/configItem/index.less +21 -21
  87. package/es/modules/systemSetting/notice/edit/index.less +26 -26
  88. package/es/types/companySetting.d.ts +1 -0
  89. package/package.json +6 -2
@@ -1,66 +1,66 @@
1
- import React, { useRef, useState } from 'react';
2
-
3
- const DraggableRect = () => {
4
- const canvasRef = useRef(null);
5
- let rect = { x: 50, y: 50, width: 100, height: 50 };
6
- let dragging = false;
7
- let draggingx = 0;
8
- let draggingy = 0;
9
- // const [rect, setRect] = useState({ x: 50, y: 50, width: 100, height: 50 });
10
- // const [dragging, setDragging] = useState(false);
11
-
12
- const drawRect = (rect) => {
13
- const ctx = canvasRef.current.getContext('2d');
14
- ctx.clearRect(0, 0, canvasRef.current.width, canvasRef.current.height);
15
- ctx.beginPath();
16
- ctx.rect(rect.x, rect.y, rect.width, rect.height);
17
- ctx.stroke();
18
- };
19
-
20
- const handleMouseDown = (e) => {
21
- console.log('handleMouseDown', e, e.target);
22
-
23
- const { x, y } = e;
24
- const { left, top } = canvasRef.current.getBoundingClientRect();
25
- draggingx = x - left - rect.x;
26
- draggingy = y - top - rect.y;
27
- rect = { ...rect, x: x - left - draggingx, y: y - top - draggingy };
28
- dragging = true;
29
- };
30
-
31
- const handleMouseMove = (e) => {
32
- if (dragging) {
33
- const { x, y } = e;
34
- const { left, top } = canvasRef.current.getBoundingClientRect();
35
- rect = { ...rect, x: x - left - draggingx, y: y - top - draggingy };
36
- drawRect(rect);
37
- }
38
- };
39
-
40
- const handleMouseUp = () => {
41
- dragging = false;
42
- drawRect(rect);
43
- };
44
-
45
- // 组件挂载后,绘制矩形
46
- React.useEffect(() => {
47
- drawRect(rect);
48
- }, []);
49
-
50
- // 鼠标事件绑定
51
- React.useEffect(() => {
52
- const canvas = canvasRef.current;
53
- canvas.addEventListener('mousedown', handleMouseDown);
54
- canvas.addEventListener('mousemove', handleMouseMove);
55
- canvas.addEventListener('mouseup', handleMouseUp);
56
- return () => {
57
- canvas.removeEventListener('mousedown', handleMouseDown);
58
- canvas.removeEventListener('mousemove', handleMouseMove);
59
- canvas.removeEventListener('mouseup', handleMouseUp);
60
- };
61
- }, []);
62
-
63
- return <canvas ref={canvasRef} width={500} height={500} style={{ border: '1px solid #000' }} />;
64
- };
65
-
66
- export default DraggableRect;
1
+ import React, { useRef, useState } from 'react';
2
+
3
+ const DraggableRect = () => {
4
+ const canvasRef = useRef(null);
5
+ let rect = { x: 50, y: 50, width: 100, height: 50 };
6
+ let dragging = false;
7
+ let draggingx = 0;
8
+ let draggingy = 0;
9
+ // const [rect, setRect] = useState({ x: 50, y: 50, width: 100, height: 50 });
10
+ // const [dragging, setDragging] = useState(false);
11
+
12
+ const drawRect = (rect) => {
13
+ const ctx = canvasRef.current.getContext('2d');
14
+ ctx.clearRect(0, 0, canvasRef.current.width, canvasRef.current.height);
15
+ ctx.beginPath();
16
+ ctx.rect(rect.x, rect.y, rect.width, rect.height);
17
+ ctx.stroke();
18
+ };
19
+
20
+ const handleMouseDown = (e) => {
21
+ console.log('handleMouseDown', e, e.target);
22
+
23
+ const { x, y } = e;
24
+ const { left, top } = canvasRef.current.getBoundingClientRect();
25
+ draggingx = x - left - rect.x;
26
+ draggingy = y - top - rect.y;
27
+ rect = { ...rect, x: x - left - draggingx, y: y - top - draggingy };
28
+ dragging = true;
29
+ };
30
+
31
+ const handleMouseMove = (e) => {
32
+ if (dragging) {
33
+ const { x, y } = e;
34
+ const { left, top } = canvasRef.current.getBoundingClientRect();
35
+ rect = { ...rect, x: x - left - draggingx, y: y - top - draggingy };
36
+ drawRect(rect);
37
+ }
38
+ };
39
+
40
+ const handleMouseUp = () => {
41
+ dragging = false;
42
+ drawRect(rect);
43
+ };
44
+
45
+ // 组件挂载后,绘制矩形
46
+ React.useEffect(() => {
47
+ drawRect(rect);
48
+ }, []);
49
+
50
+ // 鼠标事件绑定
51
+ React.useEffect(() => {
52
+ const canvas = canvasRef.current;
53
+ canvas.addEventListener('mousedown', handleMouseDown);
54
+ canvas.addEventListener('mousemove', handleMouseMove);
55
+ canvas.addEventListener('mouseup', handleMouseUp);
56
+ return () => {
57
+ canvas.removeEventListener('mousedown', handleMouseDown);
58
+ canvas.removeEventListener('mousemove', handleMouseMove);
59
+ canvas.removeEventListener('mouseup', handleMouseUp);
60
+ };
61
+ }, []);
62
+
63
+ return <canvas ref={canvasRef} width={500} height={500} style={{ border: '1px solid #000' }} />;
64
+ };
65
+
66
+ export default DraggableRect;
@@ -1,116 +1,116 @@
1
- import React, { useRef, useState } from 'react';
2
-
3
- const DraggableRect = () => {
4
- const canvasRef = useRef(null);
5
- let rect: any = [];
6
- let dragging = false;
7
- let draggingx = 0;
8
- let draggingy = 0;
9
- let isAdd = true;
10
- let isDrawing = false;
11
- let startX, startY, stopX, stopY;
12
- let index = undefined;
13
- // const [rect, setRect] = useState({ x: 50, y: 50, width: 100, height: 50 });
14
- // const [dragging, setDragging] = useState(false);
15
-
16
- const drawRect = (rect: any) => {
17
- const ctx = canvasRef.current.getContext('2d');
18
- ctx.clearRect(0, 0, canvasRef.current.width, canvasRef.current.height);
19
- ctx.beginPath();
20
- console.log('rect', rect);
21
-
22
- rect.map((item) => {
23
- ctx.rect(item.x, item.y, item.w, item.h);
24
- });
25
-
26
- ctx.stroke();
27
- };
28
-
29
- const handleMouseDown = (e) => {
30
- if (isAdd) {
31
- isDrawing = true;
32
- startX = e.offsetX;
33
- startY = e.offsetY;
34
- } else {
35
- console.log('handleMouseDown', e, e.target);
36
-
37
- const { x, y } = e;
38
- const { left, top } = canvasRef.current.getBoundingClientRect();
39
- draggingx = x - left - rect.x;
40
- draggingy = y - top - rect.y;
41
- rect = { ...rect, x: x - left - draggingx, y: y - top - draggingy };
42
- dragging = true;
43
- }
44
- };
45
-
46
- const handleMouseMove = (e) => {
47
- if (isAdd) {
48
- if (isDrawing) {
49
- stopX = e.offsetX;
50
- stopY = e.offsetY;
51
- drawRect([...rect, { x: startX, y: startY, w: stopX - startX, h: stopY - startY }]);
52
- }
53
- } else {
54
- if (dragging) {
55
- const { x, y } = e;
56
- const { left, top } = canvasRef.current.getBoundingClientRect();
57
- rect = { ...rect, x: x - left - draggingx, y: y - top - draggingy };
58
- drawRect(rect);
59
- }
60
- }
61
- };
62
-
63
- const handleMouseUp = () => {
64
- if (isAdd) {
65
- rect.push({ x: startX, y: startY, w: stopX - startX, h: stopY - startY });
66
- } else {
67
- }
68
- isDrawing = false;
69
- dragging = false;
70
- };
71
-
72
- const handleMouseleave = () => {
73
- isDrawing = false;
74
- dragging = false;
75
- };
76
-
77
- const handleMouseClick = (e) => {
78
- // isAdd = false
79
- // rect.map(item => {
80
- // const { x, y } = e;
81
- // const { left, top } = canvasRef.current.getBoundingClientRect();
82
- // draggingx = x - left
83
- // draggingy = y - top
84
- // if () = {
85
- // }
86
- // rect = { ...rect, x: x - left - draggingx, y: y - top - draggingy};
87
- // dragging = true;
88
- // })
89
- };
90
-
91
- // 组件挂载后,绘制矩形
92
- React.useEffect(() => {
93
- drawRect(rect);
94
- }, []);
95
-
96
- // 鼠标事件绑定
97
- React.useEffect(() => {
98
- const canvas = canvasRef.current;
99
- canvas.addEventListener('mousedown', handleMouseDown);
100
- canvas.addEventListener('mousemove', handleMouseMove);
101
- canvas.addEventListener('mouseup', handleMouseUp);
102
- canvas.addEventListener('mouseleave', handleMouseleave);
103
- canvas.addEventListener('click', handleMouseClick);
104
- return () => {
105
- canvas.removeEventListener('mousedown', handleMouseDown);
106
- canvas.removeEventListener('mousemove', handleMouseMove);
107
- canvas.removeEventListener('mouseup', handleMouseUp);
108
- canvas.removeEventListener('mouseleave', handleMouseleave);
109
- canvas.addEventListener('click', handleMouseClick);
110
- };
111
- }, []);
112
-
113
- return <canvas ref={canvasRef} width={500} height={500} style={{ border: '1px solid #000' }} />;
114
- };
115
-
116
- export default DraggableRect;
1
+ import React, { useRef, useState } from 'react';
2
+
3
+ const DraggableRect = () => {
4
+ const canvasRef = useRef(null);
5
+ let rect: any = [];
6
+ let dragging = false;
7
+ let draggingx = 0;
8
+ let draggingy = 0;
9
+ let isAdd = true;
10
+ let isDrawing = false;
11
+ let startX, startY, stopX, stopY;
12
+ let index = undefined;
13
+ // const [rect, setRect] = useState({ x: 50, y: 50, width: 100, height: 50 });
14
+ // const [dragging, setDragging] = useState(false);
15
+
16
+ const drawRect = (rect: any) => {
17
+ const ctx = canvasRef.current.getContext('2d');
18
+ ctx.clearRect(0, 0, canvasRef.current.width, canvasRef.current.height);
19
+ ctx.beginPath();
20
+ console.log('rect', rect);
21
+
22
+ rect.map((item) => {
23
+ ctx.rect(item.x, item.y, item.w, item.h);
24
+ });
25
+
26
+ ctx.stroke();
27
+ };
28
+
29
+ const handleMouseDown = (e) => {
30
+ if (isAdd) {
31
+ isDrawing = true;
32
+ startX = e.offsetX;
33
+ startY = e.offsetY;
34
+ } else {
35
+ console.log('handleMouseDown', e, e.target);
36
+
37
+ const { x, y } = e;
38
+ const { left, top } = canvasRef.current.getBoundingClientRect();
39
+ draggingx = x - left - rect.x;
40
+ draggingy = y - top - rect.y;
41
+ rect = { ...rect, x: x - left - draggingx, y: y - top - draggingy };
42
+ dragging = true;
43
+ }
44
+ };
45
+
46
+ const handleMouseMove = (e) => {
47
+ if (isAdd) {
48
+ if (isDrawing) {
49
+ stopX = e.offsetX;
50
+ stopY = e.offsetY;
51
+ drawRect([...rect, { x: startX, y: startY, w: stopX - startX, h: stopY - startY }]);
52
+ }
53
+ } else {
54
+ if (dragging) {
55
+ const { x, y } = e;
56
+ const { left, top } = canvasRef.current.getBoundingClientRect();
57
+ rect = { ...rect, x: x - left - draggingx, y: y - top - draggingy };
58
+ drawRect(rect);
59
+ }
60
+ }
61
+ };
62
+
63
+ const handleMouseUp = () => {
64
+ if (isAdd) {
65
+ rect.push({ x: startX, y: startY, w: stopX - startX, h: stopY - startY });
66
+ } else {
67
+ }
68
+ isDrawing = false;
69
+ dragging = false;
70
+ };
71
+
72
+ const handleMouseleave = () => {
73
+ isDrawing = false;
74
+ dragging = false;
75
+ };
76
+
77
+ const handleMouseClick = (e) => {
78
+ // isAdd = false
79
+ // rect.map(item => {
80
+ // const { x, y } = e;
81
+ // const { left, top } = canvasRef.current.getBoundingClientRect();
82
+ // draggingx = x - left
83
+ // draggingy = y - top
84
+ // if () = {
85
+ // }
86
+ // rect = { ...rect, x: x - left - draggingx, y: y - top - draggingy};
87
+ // dragging = true;
88
+ // })
89
+ };
90
+
91
+ // 组件挂载后,绘制矩形
92
+ React.useEffect(() => {
93
+ drawRect(rect);
94
+ }, []);
95
+
96
+ // 鼠标事件绑定
97
+ React.useEffect(() => {
98
+ const canvas = canvasRef.current;
99
+ canvas.addEventListener('mousedown', handleMouseDown);
100
+ canvas.addEventListener('mousemove', handleMouseMove);
101
+ canvas.addEventListener('mouseup', handleMouseUp);
102
+ canvas.addEventListener('mouseleave', handleMouseleave);
103
+ canvas.addEventListener('click', handleMouseClick);
104
+ return () => {
105
+ canvas.removeEventListener('mousedown', handleMouseDown);
106
+ canvas.removeEventListener('mousemove', handleMouseMove);
107
+ canvas.removeEventListener('mouseup', handleMouseUp);
108
+ canvas.removeEventListener('mouseleave', handleMouseleave);
109
+ canvas.addEventListener('click', handleMouseClick);
110
+ };
111
+ }, []);
112
+
113
+ return <canvas ref={canvasRef} width={500} height={500} style={{ border: '1px solid #000' }} />;
114
+ };
115
+
116
+ export default DraggableRect;
@@ -1,116 +1,116 @@
1
- import React, { useRef, useState } from 'react';
2
-
3
- const DraggableRect = () => {
4
- const canvasRef = useRef(null);
5
- let rect: any = [];
6
- let dragging = false;
7
- let draggingx = 0;
8
- let draggingy = 0;
9
- let isAdd = true;
10
- let isDrawing = false;
11
- let startX, startY, stopX, stopY;
12
- let index = undefined;
13
- // const [rect, setRect] = useState({ x: 50, y: 50, width: 100, height: 50 });
14
- // const [dragging, setDragging] = useState(false);
15
-
16
- const drawRect = (rect: any) => {
17
- const ctx = canvasRef.current.getContext('2d');
18
- ctx.clearRect(0, 0, canvasRef.current.width, canvasRef.current.height);
19
- ctx.beginPath();
20
- console.log('rect', rect);
21
-
22
- rect.map((item) => {
23
- ctx.rect(item.x, item.y, item.w, item.h);
24
- });
25
-
26
- ctx.stroke();
27
- };
28
-
29
- const handleMouseDown = (e) => {
30
- if (isAdd) {
31
- isDrawing = true;
32
- startX = e.offsetX;
33
- startY = e.offsetY;
34
- } else {
35
- console.log('handleMouseDown', e, e.target);
36
-
37
- const { x, y } = e;
38
- const { left, top } = canvasRef.current.getBoundingClientRect();
39
- draggingx = x - left - rect.x;
40
- draggingy = y - top - rect.y;
41
- rect = { ...rect, x: x - left - draggingx, y: y - top - draggingy };
42
- dragging = true;
43
- }
44
- };
45
-
46
- const handleMouseMove = (e) => {
47
- if (isAdd) {
48
- if (isDrawing) {
49
- stopX = e.offsetX;
50
- stopY = e.offsetY;
51
- drawRect([...rect, { x: startX, y: startY, w: stopX - startX, h: stopY - startY }]);
52
- }
53
- } else {
54
- if (dragging) {
55
- const { x, y } = e;
56
- const { left, top } = canvasRef.current.getBoundingClientRect();
57
- rect = { ...rect, x: x - left - draggingx, y: y - top - draggingy };
58
- drawRect(rect);
59
- }
60
- }
61
- };
62
-
63
- const handleMouseUp = () => {
64
- if (isAdd) {
65
- rect.push({ x: startX, y: startY, w: stopX - startX, h: stopY - startY });
66
- } else {
67
- }
68
- isDrawing = false;
69
- dragging = false;
70
- };
71
-
72
- const handleMouseleave = () => {
73
- isDrawing = false;
74
- dragging = false;
75
- };
76
-
77
- const handleMouseClick = (e) => {
78
- // isAdd = false
79
- // rect.map(item => {
80
- // const { x, y } = e;
81
- // const { left, top } = canvasRef.current.getBoundingClientRect();
82
- // draggingx = x - left
83
- // draggingy = y - top
84
- // if () = {
85
- // }
86
- // rect = { ...rect, x: x - left - draggingx, y: y - top - draggingy};
87
- // dragging = true;
88
- // })
89
- };
90
-
91
- // 组件挂载后,绘制矩形
92
- React.useEffect(() => {
93
- drawRect(rect);
94
- }, []);
95
-
96
- // 鼠标事件绑定
97
- React.useEffect(() => {
98
- const canvas = canvasRef.current;
99
- canvas.addEventListener('mousedown', handleMouseDown);
100
- canvas.addEventListener('mousemove', handleMouseMove);
101
- canvas.addEventListener('mouseup', handleMouseUp);
102
- canvas.addEventListener('mouseleave', handleMouseleave);
103
- canvas.addEventListener('click', handleMouseClick);
104
- return () => {
105
- canvas.removeEventListener('mousedown', handleMouseDown);
106
- canvas.removeEventListener('mousemove', handleMouseMove);
107
- canvas.removeEventListener('mouseup', handleMouseUp);
108
- canvas.removeEventListener('mouseleave', handleMouseleave);
109
- canvas.addEventListener('click', handleMouseClick);
110
- };
111
- }, []);
112
-
113
- return <canvas ref={canvasRef} width={500} height={500} style={{ border: '1px solid #000' }} />;
114
- };
115
-
116
- export default DraggableRect;
1
+ import React, { useRef, useState } from 'react';
2
+
3
+ const DraggableRect = () => {
4
+ const canvasRef = useRef(null);
5
+ let rect: any = [];
6
+ let dragging = false;
7
+ let draggingx = 0;
8
+ let draggingy = 0;
9
+ let isAdd = true;
10
+ let isDrawing = false;
11
+ let startX, startY, stopX, stopY;
12
+ let index = undefined;
13
+ // const [rect, setRect] = useState({ x: 50, y: 50, width: 100, height: 50 });
14
+ // const [dragging, setDragging] = useState(false);
15
+
16
+ const drawRect = (rect: any) => {
17
+ const ctx = canvasRef.current.getContext('2d');
18
+ ctx.clearRect(0, 0, canvasRef.current.width, canvasRef.current.height);
19
+ ctx.beginPath();
20
+ console.log('rect', rect);
21
+
22
+ rect.map((item) => {
23
+ ctx.rect(item.x, item.y, item.w, item.h);
24
+ });
25
+
26
+ ctx.stroke();
27
+ };
28
+
29
+ const handleMouseDown = (e) => {
30
+ if (isAdd) {
31
+ isDrawing = true;
32
+ startX = e.offsetX;
33
+ startY = e.offsetY;
34
+ } else {
35
+ console.log('handleMouseDown', e, e.target);
36
+
37
+ const { x, y } = e;
38
+ const { left, top } = canvasRef.current.getBoundingClientRect();
39
+ draggingx = x - left - rect.x;
40
+ draggingy = y - top - rect.y;
41
+ rect = { ...rect, x: x - left - draggingx, y: y - top - draggingy };
42
+ dragging = true;
43
+ }
44
+ };
45
+
46
+ const handleMouseMove = (e) => {
47
+ if (isAdd) {
48
+ if (isDrawing) {
49
+ stopX = e.offsetX;
50
+ stopY = e.offsetY;
51
+ drawRect([...rect, { x: startX, y: startY, w: stopX - startX, h: stopY - startY }]);
52
+ }
53
+ } else {
54
+ if (dragging) {
55
+ const { x, y } = e;
56
+ const { left, top } = canvasRef.current.getBoundingClientRect();
57
+ rect = { ...rect, x: x - left - draggingx, y: y - top - draggingy };
58
+ drawRect(rect);
59
+ }
60
+ }
61
+ };
62
+
63
+ const handleMouseUp = () => {
64
+ if (isAdd) {
65
+ rect.push({ x: startX, y: startY, w: stopX - startX, h: stopY - startY });
66
+ } else {
67
+ }
68
+ isDrawing = false;
69
+ dragging = false;
70
+ };
71
+
72
+ const handleMouseleave = () => {
73
+ isDrawing = false;
74
+ dragging = false;
75
+ };
76
+
77
+ const handleMouseClick = (e) => {
78
+ // isAdd = false
79
+ // rect.map(item => {
80
+ // const { x, y } = e;
81
+ // const { left, top } = canvasRef.current.getBoundingClientRect();
82
+ // draggingx = x - left
83
+ // draggingy = y - top
84
+ // if () = {
85
+ // }
86
+ // rect = { ...rect, x: x - left - draggingx, y: y - top - draggingy};
87
+ // dragging = true;
88
+ // })
89
+ };
90
+
91
+ // 组件挂载后,绘制矩形
92
+ React.useEffect(() => {
93
+ drawRect(rect);
94
+ }, []);
95
+
96
+ // 鼠标事件绑定
97
+ React.useEffect(() => {
98
+ const canvas = canvasRef.current;
99
+ canvas.addEventListener('mousedown', handleMouseDown);
100
+ canvas.addEventListener('mousemove', handleMouseMove);
101
+ canvas.addEventListener('mouseup', handleMouseUp);
102
+ canvas.addEventListener('mouseleave', handleMouseleave);
103
+ canvas.addEventListener('click', handleMouseClick);
104
+ return () => {
105
+ canvas.removeEventListener('mousedown', handleMouseDown);
106
+ canvas.removeEventListener('mousemove', handleMouseMove);
107
+ canvas.removeEventListener('mouseup', handleMouseUp);
108
+ canvas.removeEventListener('mouseleave', handleMouseleave);
109
+ canvas.addEventListener('click', handleMouseClick);
110
+ };
111
+ }, []);
112
+
113
+ return <canvas ref={canvasRef} width={500} height={500} style={{ border: '1px solid #000' }} />;
114
+ };
115
+
116
+ export default DraggableRect;