aldehyde 0.2.332 → 0.2.334

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 (219) hide show
  1. package/lib/controls/rfield/index.js +1 -1
  2. package/lib/controls/rfield/index.js.map +1 -1
  3. package/lib/detail/button/inline-edit-button.d.ts +13 -0
  4. package/lib/detail/button/inline-edit-button.d.ts.map +1 -0
  5. package/lib/detail/button/inline-edit-button.js +17 -0
  6. package/lib/detail/button/inline-edit-button.js.map +1 -0
  7. package/lib/detail/dtmpl.css +8 -1
  8. package/lib/index.d.ts +2 -1
  9. package/lib/index.d.ts.map +1 -1
  10. package/lib/index.js +3 -1
  11. package/lib/index.js.map +1 -1
  12. package/lib/layout2/components/theme-button.js +1 -1
  13. package/lib/layout2/components/theme-button.js.map +1 -1
  14. package/lib/layout2/components/user-button.d.ts +2 -1
  15. package/lib/layout2/components/user-button.d.ts.map +1 -1
  16. package/lib/layout2/components/user-button.js +8 -2
  17. package/lib/layout2/components/user-button.js.map +1 -1
  18. package/lib/layout3/components/tabs-layout.js +1 -1
  19. package/lib/layout3/components/tabs-layout.js.map +1 -1
  20. package/lib/layout3/css/header.css +166 -138
  21. package/lib/layout3/css/main.css +114 -16
  22. package/lib/layout3/css/sider.css +7 -6
  23. package/lib/layout3/css/tabs-layout.css +17 -8
  24. package/lib/layout3/header.d.ts.map +1 -1
  25. package/lib/layout3/header.js +2 -1
  26. package/lib/layout3/header.js.map +1 -1
  27. package/lib/layout3/page.d.ts.map +1 -1
  28. package/lib/layout3/page.js +1 -1
  29. package/lib/layout3/page.js.map +1 -1
  30. package/lib/layout3/sider.js +1 -1
  31. package/lib/layout3/sider.js.map +1 -1
  32. package/lib/layout4/components/tabs-layout.d.ts +5 -0
  33. package/lib/layout4/components/tabs-layout.d.ts.map +1 -0
  34. package/lib/layout4/components/tabs-layout.js +68 -0
  35. package/lib/layout4/components/tabs-layout.js.map +1 -0
  36. package/lib/layout4/css/header.css +157 -0
  37. package/lib/layout4/css/main.css +119 -0
  38. package/lib/layout4/css/sider.css +11 -0
  39. package/lib/layout4/css/tabs-layout.css +43 -0
  40. package/lib/layout4/header.d.ts +11 -0
  41. package/lib/layout4/header.d.ts.map +1 -0
  42. package/lib/layout4/header.js +137 -0
  43. package/lib/layout4/header.js.map +1 -0
  44. package/lib/layout4/imgs/header-bg.png +0 -0
  45. package/lib/layout4/imgs/home.png +0 -0
  46. package/lib/layout4/imgs/menu-item-bg.png +0 -0
  47. package/lib/layout4/imgs/user.png +0 -0
  48. package/lib/layout4/main.d.ts +8 -0
  49. package/lib/layout4/main.d.ts.map +1 -0
  50. package/lib/layout4/main.js +14 -0
  51. package/lib/layout4/main.js.map +1 -0
  52. package/lib/layout4/page.d.ts +8 -0
  53. package/lib/layout4/page.d.ts.map +1 -0
  54. package/lib/layout4/page.js +60 -0
  55. package/lib/layout4/page.js.map +1 -0
  56. package/lib/layout4/sider.d.ts +10 -0
  57. package/lib/layout4/sider.d.ts.map +1 -0
  58. package/lib/layout4/sider.js +125 -0
  59. package/lib/layout4/sider.js.map +1 -0
  60. package/lib/lowcode-components/bar-chart/index.d.ts.map +1 -1
  61. package/lib/lowcode-components/bar-chart/index.js +13 -1
  62. package/lib/lowcode-components/bar-chart/index.js.map +1 -1
  63. package/lib/lowcode-components/base-map/index.d.ts.map +1 -1
  64. package/lib/lowcode-components/base-map/index.js +13 -1
  65. package/lib/lowcode-components/base-map/index.js.map +1 -1
  66. package/lib/lowcode-components/base-table/index.d.ts.map +1 -1
  67. package/lib/lowcode-components/base-table/index.js +10 -4
  68. package/lib/lowcode-components/base-table/index.js.map +1 -1
  69. package/lib/lowcode-components/capsule-bar-chart/index.d.ts.map +1 -1
  70. package/lib/lowcode-components/capsule-bar-chart/index.js +13 -1
  71. package/lib/lowcode-components/capsule-bar-chart/index.js.map +1 -1
  72. package/lib/lowcode-components/carousel/index.d.ts.map +1 -1
  73. package/lib/lowcode-components/carousel/index.js +14 -1
  74. package/lib/lowcode-components/carousel/index.js.map +1 -1
  75. package/lib/lowcode-components/circular-progress-chart/index.d.ts.map +1 -1
  76. package/lib/lowcode-components/circular-progress-chart/index.js +14 -1
  77. package/lib/lowcode-components/circular-progress-chart/index.js.map +1 -1
  78. package/lib/lowcode-components/column-3d-chart/index.d.ts.map +1 -1
  79. package/lib/lowcode-components/column-3d-chart/index.js +13 -1
  80. package/lib/lowcode-components/column-3d-chart/index.js.map +1 -1
  81. package/lib/lowcode-components/column-chart/index.d.ts.map +1 -1
  82. package/lib/lowcode-components/column-chart/index.js +14 -1
  83. package/lib/lowcode-components/column-chart/index.js.map +1 -1
  84. package/lib/lowcode-components/data-number/index.d.ts.map +1 -1
  85. package/lib/lowcode-components/data-number/index.js +23 -5
  86. package/lib/lowcode-components/data-number/index.js.map +1 -1
  87. package/lib/lowcode-components/effectScatter-map/index.d.ts.map +1 -1
  88. package/lib/lowcode-components/effectScatter-map/index.js +13 -1
  89. package/lib/lowcode-components/effectScatter-map/index.js.map +1 -1
  90. package/lib/lowcode-components/effectScatter-map-3d/index.d.ts.map +1 -1
  91. package/lib/lowcode-components/effectScatter-map-3d/index.js +13 -1
  92. package/lib/lowcode-components/effectScatter-map-3d/index.js.map +1 -1
  93. package/lib/lowcode-components/gauge-chart/index.d.ts.map +1 -1
  94. package/lib/lowcode-components/gauge-chart/index.js +20 -3
  95. package/lib/lowcode-components/gauge-chart/index.js.map +1 -1
  96. package/lib/lowcode-components/line-bar-chart/index.d.ts.map +1 -1
  97. package/lib/lowcode-components/line-bar-chart/index.js +13 -1
  98. package/lib/lowcode-components/line-bar-chart/index.js.map +1 -1
  99. package/lib/lowcode-components/line-chart/index.d.ts.map +1 -1
  100. package/lib/lowcode-components/line-chart/index.js +13 -1
  101. package/lib/lowcode-components/line-chart/index.js.map +1 -1
  102. package/lib/lowcode-components/liquid-chart/index.d.ts.map +1 -1
  103. package/lib/lowcode-components/liquid-chart/index.js +20 -3
  104. package/lib/lowcode-components/liquid-chart/index.js.map +1 -1
  105. package/lib/lowcode-components/lowcode-view/component/abstract-designer-controller.d.ts +5 -5
  106. package/lib/lowcode-components/lowcode-view/component/abstract-designer-controller.d.ts.map +1 -1
  107. package/lib/lowcode-components/lowcode-view/component/abstract-designer-controller.js +8 -19
  108. package/lib/lowcode-components/lowcode-view/component/abstract-designer-controller.js.map +1 -1
  109. package/lib/lowcode-components/lowcode-view/component/component-container.d.ts.map +1 -1
  110. package/lib/lowcode-components/lowcode-view/component/component-container.js +6 -5
  111. package/lib/lowcode-components/lowcode-view/component/component-container.js.map +1 -1
  112. package/lib/lowcode-components/lowcode-view/component/component-controller.d.ts.map +1 -1
  113. package/lib/lowcode-components/lowcode-view/component/component-controller.js +9 -3
  114. package/lib/lowcode-components/lowcode-view/component/component-controller.js.map +1 -1
  115. package/lib/lowcode-components/lowcode-view/component/screen-fit/index.d.ts +0 -4
  116. package/lib/lowcode-components/lowcode-view/component/screen-fit/index.d.ts.map +1 -1
  117. package/lib/lowcode-components/lowcode-view/component/screen-fit/index.js +7 -5
  118. package/lib/lowcode-components/lowcode-view/component/screen-fit/index.js.map +1 -1
  119. package/lib/lowcode-components/lowcode-view/index.d.ts +1 -0
  120. package/lib/lowcode-components/lowcode-view/index.d.ts.map +1 -1
  121. package/lib/lowcode-components/lowcode-view/index.js +54 -11
  122. package/lib/lowcode-components/lowcode-view/index.js.map +1 -1
  123. package/lib/lowcode-components/pie-chart/index.d.ts.map +1 -1
  124. package/lib/lowcode-components/pie-chart/index.js +13 -1
  125. package/lib/lowcode-components/pie-chart/index.js.map +1 -1
  126. package/lib/lowcode-components/progress-chart/index.d.ts.map +1 -1
  127. package/lib/lowcode-components/progress-chart/index.js +20 -3
  128. package/lib/lowcode-components/progress-chart/index.js.map +1 -1
  129. package/lib/lowcode-components/stroke-animation/index.d.ts.map +1 -1
  130. package/lib/lowcode-components/stroke-animation/index.js +20 -3
  131. package/lib/lowcode-components/stroke-animation/index.js.map +1 -1
  132. package/lib/lowcode-components/text-scroller/index.d.ts.map +1 -1
  133. package/lib/lowcode-components/text-scroller/index.js +20 -3
  134. package/lib/lowcode-components/text-scroller/index.js.map +1 -1
  135. package/lib/table/act-table.d.ts +8 -0
  136. package/lib/table/act-table.d.ts.map +1 -1
  137. package/lib/table/act-table.js +52 -13
  138. package/lib/table/act-table.js.map +1 -1
  139. package/lib/table/column/column-builder.d.ts.map +1 -1
  140. package/lib/table/column/column-builder.js +32 -8
  141. package/lib/table/column/column-builder.js.map +1 -1
  142. package/lib/table/relation-table.d.ts.map +1 -1
  143. package/lib/table/relation-table.js +2 -0
  144. package/lib/table/relation-table.js.map +1 -1
  145. package/lib/tmpl/hcservice-v3.d.ts +5 -0
  146. package/lib/tmpl/hcservice-v3.d.ts.map +1 -1
  147. package/lib/tmpl/hcservice-v3.js +17 -0
  148. package/lib/tmpl/hcservice-v3.js.map +1 -1
  149. package/lib/tmpl/interface.d.ts +6 -1
  150. package/lib/tmpl/interface.d.ts.map +1 -1
  151. package/lib/tmpl/interface.js.map +1 -1
  152. package/lib/tmpl/tmpl-config-analysis.d.ts.map +1 -1
  153. package/lib/tmpl/tmpl-config-analysis.js +2 -2
  154. package/lib/tmpl/tmpl-config-analysis.js.map +1 -1
  155. package/lib/tree/index.css +11 -9
  156. package/lib/tree/tmpl-tree.js +1 -1
  157. package/lib/tree/tmpl-tree.js.map +1 -1
  158. package/package.json +1 -1
  159. package/src/aldehyde/controls/rfield/index.tsx +1 -1
  160. package/src/aldehyde/detail/button/inline-edit-button.tsx +40 -0
  161. package/src/aldehyde/detail/dtmpl.css +8 -1
  162. package/src/aldehyde/index.tsx +6 -1
  163. package/src/aldehyde/layout2/components/theme-button.tsx +1 -1
  164. package/src/aldehyde/layout2/components/user-button.tsx +23 -14
  165. package/src/aldehyde/layout3/components/tabs-layout.tsx +1 -1
  166. package/src/aldehyde/layout3/css/header.css +166 -138
  167. package/src/aldehyde/layout3/css/main.css +114 -16
  168. package/src/aldehyde/layout3/css/sider.css +7 -6
  169. package/src/aldehyde/layout3/css/tabs-layout.css +17 -8
  170. package/src/aldehyde/layout3/header.tsx +8 -6
  171. package/src/aldehyde/layout3/page.tsx +6 -1
  172. package/src/aldehyde/layout3/sider.tsx +1 -1
  173. package/src/aldehyde/layout4/components/tabs-layout.tsx +106 -0
  174. package/src/aldehyde/layout4/css/header.css +157 -0
  175. package/src/aldehyde/layout4/css/main.css +119 -0
  176. package/src/aldehyde/layout4/css/sider.css +11 -0
  177. package/src/aldehyde/layout4/css/tabs-layout.css +43 -0
  178. package/src/aldehyde/layout4/header.tsx +182 -0
  179. package/src/aldehyde/layout4/imgs/header-bg.png +0 -0
  180. package/src/aldehyde/layout4/imgs/home.png +0 -0
  181. package/src/aldehyde/layout4/imgs/menu-item-bg.png +0 -0
  182. package/src/aldehyde/layout4/imgs/user.png +0 -0
  183. package/src/aldehyde/layout4/imgs/user.svg +27 -0
  184. package/src/aldehyde/layout4/main.tsx +27 -0
  185. package/src/aldehyde/layout4/page.tsx +91 -0
  186. package/src/aldehyde/layout4/sider.tsx +178 -0
  187. package/src/aldehyde/lowcode-components/bar-chart/index.tsx +14 -1
  188. package/src/aldehyde/lowcode-components/base-map/index.tsx +14 -1
  189. package/src/aldehyde/lowcode-components/base-table/index.tsx +29 -12
  190. package/src/aldehyde/lowcode-components/capsule-bar-chart/index.tsx +14 -1
  191. package/src/aldehyde/lowcode-components/carousel/index.tsx +15 -1
  192. package/src/aldehyde/lowcode-components/circular-progress-chart/index.tsx +14 -1
  193. package/src/aldehyde/lowcode-components/column-3d-chart/index.tsx +14 -1
  194. package/src/aldehyde/lowcode-components/column-chart/index.tsx +15 -1
  195. package/src/aldehyde/lowcode-components/data-number/index.tsx +23 -4
  196. package/src/aldehyde/lowcode-components/data.d.ts +2 -0
  197. package/src/aldehyde/lowcode-components/effectScatter-map/index.tsx +14 -1
  198. package/src/aldehyde/lowcode-components/effectScatter-map-3d/index.tsx +14 -1
  199. package/src/aldehyde/lowcode-components/gauge-chart/index.tsx +21 -2
  200. package/src/aldehyde/lowcode-components/line-bar-chart/index.tsx +14 -1
  201. package/src/aldehyde/lowcode-components/line-chart/index.tsx +14 -1
  202. package/src/aldehyde/lowcode-components/liquid-chart/index.tsx +21 -2
  203. package/src/aldehyde/lowcode-components/lowcode-view/component/abstract-designer-controller.ts +8 -15
  204. package/src/aldehyde/lowcode-components/lowcode-view/component/component-container.tsx +7 -6
  205. package/src/aldehyde/lowcode-components/lowcode-view/component/component-controller.ts +10 -4
  206. package/src/aldehyde/lowcode-components/lowcode-view/component/screen-fit/index.tsx +7 -10
  207. package/src/aldehyde/lowcode-components/lowcode-view/index.tsx +56 -22
  208. package/src/aldehyde/lowcode-components/pie-chart/index.tsx +14 -1
  209. package/src/aldehyde/lowcode-components/progress-chart/index.tsx +21 -2
  210. package/src/aldehyde/lowcode-components/stroke-animation/index.tsx +21 -2
  211. package/src/aldehyde/lowcode-components/text-scroller/index.tsx +21 -2
  212. package/src/aldehyde/table/act-table.tsx +275 -229
  213. package/src/aldehyde/table/column/column-builder.tsx +550 -505
  214. package/src/aldehyde/table/relation-table.tsx +1 -0
  215. package/src/aldehyde/tmpl/hcservice-v3.tsx +29 -0
  216. package/src/aldehyde/tmpl/interface.tsx +6 -1
  217. package/src/aldehyde/tmpl/tmpl-config-analysis.tsx +6 -6
  218. package/src/aldehyde/tree/index.css +11 -9
  219. package/src/aldehyde/tree/tmpl-tree.tsx +1 -1
@@ -1,29 +1,127 @@
1
- .v3-main{
1
+ .v3-main {
2
2
  width: 100%;
3
3
  height: 100%;
4
4
  position: absolute;
5
5
  min-width: 1280px;
6
6
  overflow-x: auto;
7
- .ant-layout{
7
+
8
+ .ant-layout {
8
9
  background: #041B3B !important;
9
10
  }
10
- .act-table-title{
11
- font-family: YouSheBiaoTiHei;
12
- background: linear-gradient(180deg, #FFFFFF 0%, #90DEFF 100%);
13
- -webkit-background-clip: text;
14
- background-clip: text;
15
- -webkit-text-fill-color: transparent;
16
- font-size: 20px;
11
+
12
+ .act-table-title {
13
+ font-family: YouSheBiaoTiHei;
14
+ background: linear-gradient(180deg, #FFFFFF 0%, #90DEFF 100%);
15
+ -webkit-background-clip: text;
16
+ background-clip: text;
17
+ -webkit-text-fill-color: transparent;
18
+ font-size: 20px;
17
19
  }
18
- .ant-drawer,.ant-modal-content {
19
- .ant-drawer-content{
20
- border: none !important;
20
+
21
+ .ant-drawer,
22
+ .ant-modal-content {
23
+
24
+ .ant-card-head {
25
+ background: transparent !important;
21
26
  }
22
- .ant-card-head{
23
- background: transparent !important;
27
+
28
+ .ant-layout {
29
+ background: #041B3B !important;
24
30
  }
25
- .ant-layout{
26
- background: #041B3B !important;
31
+ }
32
+
33
+ .ant-menu-overflow-item-rest .ant-menu-submenu-title {
34
+ height: 100%;
35
+ display: flex;
36
+ align-items: center;
37
+ justify-content: center;
38
+ }
39
+
40
+ .ant-menu-submenu-popup {
41
+
42
+ .menu-item-selected {
43
+ background: transparent !important;
44
+ }
45
+
46
+ .ant-menu-submenu-title a {
47
+ color: #bec8d6
48
+ }
49
+
50
+ .ant-menu-submenu-selected a {
51
+ color: var(--ant-primary-color)
52
+ }
53
+ }
54
+
55
+ .ant-table-tbody,
56
+ .ant-table-summary {
57
+ .ant-table-cell:has(.xiaoji) {
58
+ background-color: var(--color-5) !important;
27
59
  }
60
+
61
+ .ant-table-cell:has(.heji) {
62
+ background-color: var(--color-7) !important;
63
+ }
64
+
65
+ .xiaoji {
66
+ background-color: var(--color-5) !important;
67
+ }
68
+
69
+ .heji {
70
+ background-color: var(--color-7) !important;
71
+ }
72
+ }
73
+ }
74
+
75
+ .v3-antd-table {
76
+ .ant-table-css-var {
77
+ --ant-table-border-color: #15325b;
78
+ }
79
+
80
+ .ant-table {
81
+ background: transparent;
82
+ scrollbar-color: var(--ant-table-header-bg) transparent;
83
+ }
84
+
85
+ .ant-table-tbody .ant-table-cell {
86
+ background: var(--ant-layout-body-bg) !important;
87
+ }
88
+ }
89
+
90
+ .v3-antd-drawer,
91
+ .v3-antd-modal {
92
+ .ant-table-css-var {
93
+ --ant-table-border-color: #05449a;
94
+ }
95
+ }
96
+
97
+ .v3-antd-modal {
98
+ .ant-modal-content {
99
+ background: var(--ant-color-bg-base) !important;
100
+ border: 1px solid var(--ant-color-border-secondary) !important;
101
+ }
102
+
103
+ .ant-modal-header {
104
+ background: transparent;
105
+ }
106
+ }
107
+
108
+ .v3-antd-drawer {
109
+ background: var(--ant-color-bg-base) !important;
110
+ border: 2px solid var(--ant-color-border-secondary) !important;
111
+ }
112
+
113
+ .v3-antd-card {
114
+ background: transparent;
115
+
116
+ .ant-card-head {
117
+ background: var(--ant-color-bg-container) !important;
118
+ }
119
+
120
+ .ant-card-body {
121
+ background: transparent;
122
+ }
28
123
  }
124
+
125
+ .v3-antd-card:hover {
126
+ border-color: var(--ant-color-border-secondary);
29
127
  }
@@ -1,10 +1,11 @@
1
- .layout-sider{
1
+ .v3-layout-sider {
2
2
  margin-bottom: 12px;
3
3
  overflow: auto;
4
- background: linear-gradient( 180deg, rgba(7,27,67,0.1) 0%, rgba(13,46,89,0.2) 100%), radial-gradient( 188% 188% at -139% 100%, rgba(39,115,255,0.1) 0%, rgba(39,115,255,0) 100%), radial-gradient( 488% 488% at -439% 100%, rgba(39,115,255,0.2) 0%, rgba(39,115,255,0) 100%), radial-gradient( 716% 716% at -667% 100%, rgba(39,115,255,0.5) 0%, rgba(39,115,255,0) 100%);
5
- border: 1px solid;
6
- border-image: linear-gradient(180deg, rgba(39, 95, 180, 0.3), rgba(68, 118, 235, 1)) 1 1;
7
- .ant-menu-item-selected{
8
- background: linear-gradient(90deg,#88EFFF00,rgba(163,194,255,0.2),#88EFFF00);
4
+ background: linear-gradient(180deg, rgba(7, 27, 67, 0.1) 0%, rgba(13, 46, 89, 0.2) 100%), radial-gradient(188% 188% at -139% 100%, rgba(39, 115, 255, 0.1) 0%, rgba(39, 115, 255, 0) 100%), radial-gradient(488% 488% at -439% 100%, rgba(39, 115, 255, 0.2) 0%, rgba(39, 115, 255, 0) 100%), radial-gradient(716% 716% at -667% 100%, rgba(39, 115, 255, 0.5) 0%, rgba(39, 115, 255, 0) 100%);
5
+ border: 1px solid #05449a;
6
+ box-shadow: inset 0 0 8px #042c64, inset 0 0 8px #042c64;
7
+
8
+ .ant-menu-item-selected {
9
+ background: linear-gradient(90deg, #88EFFF00, rgba(163, 194, 255, 0.2), #88EFFF00);
9
10
  }
10
11
  }
@@ -1,8 +1,10 @@
1
- .tabs-layout {
1
+ .v3-tabs-layout {
2
2
  height: 100%;
3
+
3
4
  .ant-tabs-nav {
4
5
  margin-bottom: 0;
5
6
  }
7
+
6
8
  .ant-tabs-tab {
7
9
  min-width: 110px;
8
10
  display: flex;
@@ -10,21 +12,28 @@
10
12
  align-items: center;
11
13
  }
12
14
 
13
- .ant-tabs-content,.ant-tabs-tabpane {
15
+ .ant-tabs-content,
16
+ .ant-tabs-tabpane {
14
17
  height: 100%;
15
18
  }
16
19
 
17
20
  .tabs-children {
18
21
  height: 100%;
19
22
  overflow: auto;
20
- border: 1px solid;
21
- border-image: linear-gradient(180deg, rgba(39, 95, 180, 0.3), rgba(68, 118, 235, 1)) 1 1;
22
- padding: 3px 12px 12px;
23
+ border: 1px solid #05449a;
24
+ box-shadow: inset 0 0 16px #042c64,
25
+ inset 0 0 16px #042c64;
26
+ padding: 8px 16px 16px;
23
27
  border-top: 0;
24
28
  }
25
29
 
26
30
  /* 组件样式异常覆盖 */
27
- .ant-card-head{
28
- background: transparent !important;
31
+
32
+ .actTable {
33
+ .ant-card {
34
+ background: transparent;
35
+ box-shadow: inset 0 0 12px #042c64,
36
+ inset 0 0 12px #042c64;
37
+ }
29
38
  }
30
- }
39
+ }
@@ -164,12 +164,14 @@ const Header: React.FC<HeaderPropsType> = ({ systemName, menuList }) => {
164
164
  <HomeFilled className="home-page-icon" />
165
165
  <div className="home-page-title">{translate("${首页}")}</div>
166
166
  </NavLink>
167
- <Menu
168
- mode="horizontal"
169
- items={menu}
170
- selectedKeys={selectedKeys}
171
- style={{ background: "#041B3B", border: "none" }}
172
- />
167
+ <div className="header-menu">
168
+ <Menu
169
+ mode="horizontal"
170
+ items={menu}
171
+ selectedKeys={selectedKeys}
172
+ style={{ background: "#041B3B", border: "none" }}
173
+ />
174
+ </div>
173
175
  </div>
174
176
  </Layout.Header>
175
177
  );
@@ -58,7 +58,12 @@ const Page: React.FC<PagePropsType> = (props: PagePropsType) => {
58
58
  cardPadding: "4px 12px"
59
59
  }
60
60
  }
61
- }}>
61
+ }}
62
+ table={{ className: "v3-antd-table" }}
63
+ drawer={{ className: "v3-antd-drawer" }}
64
+ modal={{ className: "v3-antd-modal" }}
65
+ card={{ className: "v3-antd-card" }}
66
+ >
62
67
  <Layout style={{ height: "100%" }}>
63
68
  <Header systemName={systemName ? systemName : Units.programName_NavLeft()} menuList={menu}></Header>
64
69
  <Layout>
@@ -139,7 +139,7 @@ const Sider: React.FC<SiderPropsType> = ({ menuList, collapsed }) => {
139
139
  collapsed={collapsed}
140
140
  collapsedWidth={0}
141
141
  width={200}
142
- className="layout-sider"
142
+ className="v3-layout-sider"
143
143
  >
144
144
  <ConfigProvider
145
145
  theme={{
@@ -0,0 +1,106 @@
1
+ import React, { useCallback, useMemo } from "react";
2
+ import { Dropdown, Tabs } from 'antd';
3
+ import { MenuItemType } from 'antd/es/menu/interface';
4
+ import { KeepAliveTabContext } from '../../layout2/tabs/tabs-context';
5
+ import { KeepAliveTab, useTabs } from "../../hooks/use-tabs";
6
+ import antdIcons from '@ant-design/icons';
7
+ import { useNavigate } from 'react-router-dom';
8
+ import Units from '../../units';
9
+ import { useLocale } from "../../locale/useLocale";
10
+ import "../css/tabs-layout.css";
11
+
12
+ const getIcon = (icon?: string): React.ReactElement | undefined => {
13
+ return icon && antdIcons[icon] && React.createElement(antdIcons[icon]);
14
+ }
15
+
16
+ const TabsLayout: React.FC = () => {
17
+ const { translate } = useLocale();
18
+ const navigate = useNavigate();
19
+ const { activeTabRoutePath, tabs = [], closeTab, refreshTab, closeOtherTab } = useTabs();
20
+
21
+ const menuItems: MenuItemType[] = useMemo(
22
+ () => tabs.length <= 1 ? [] : [
23
+ { label: translate("${关闭}"), key: "close" },
24
+ { label: translate("${关闭其他}"), key: "other" },
25
+ ],
26
+ [tabs]);
27
+
28
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
29
+ const menuClick = useCallback(({ key, domEvent }: any, tab: KeepAliveTab) => {
30
+ domEvent.stopPropagation();
31
+ if (key === 'refresh') {
32
+ refreshTab(tab.routePath);
33
+ } else if (key === "close") {
34
+ closeTab(tab.routePath);
35
+ } else if (key === "other") {
36
+ closeOtherTab(tab.routePath);
37
+ }
38
+ }, [closeOtherTab, closeTab, refreshTab]);
39
+
40
+ const renderTabTitle = useCallback((tab: KeepAliveTab) => {
41
+ let label = Units.mapMenu(tab.title) ? Units.mapMenu(tab.title) : tab.title;
42
+ label = translate("${" + label + "}");
43
+ return (
44
+ <Dropdown
45
+ menu={{
46
+ items: menuItems,
47
+ onClick: (e) => menuClick(e, tab),
48
+ }}
49
+ trigger={['contextMenu']}
50
+ onOpenChange={open => open && navigate(tab.pathname)}
51
+ >
52
+ <div className='flex gap-[6px]'>
53
+ {getIcon(tab.icon)}
54
+ {label}
55
+ </div>
56
+ </Dropdown >
57
+ )
58
+ }, [menuItems]);
59
+
60
+ const tabItems = useMemo(() => {
61
+ return tabs.map(tab => ({
62
+ key: tab.routePath,
63
+ label: renderTabTitle(tab),
64
+ children: (
65
+ <div key={tab.key} className="overflow-y-auto tabs-children">
66
+ {tab.children}
67
+ </div>
68
+ ),
69
+ closable: tabs.length > 1, // 剩最后一个就不能删除了
70
+ }))
71
+ }, [tabs]);
72
+
73
+ const onTabsChange = useCallback((tabKey: string) => {
74
+ const tab = tabs.find(r => r.routePath === tabKey);
75
+ if (tab) {
76
+ navigate(tab.pathname);
77
+ }
78
+ }, [tabs]);
79
+
80
+ const keepAliveContextValue = useMemo(
81
+ () => ({
82
+ closeTab,
83
+ closeOtherTab,
84
+ refreshTab,
85
+ }),
86
+ [closeTab, closeOtherTab, refreshTab]
87
+ );
88
+
89
+ return (
90
+ <KeepAliveTabContext.Provider value={keepAliveContextValue}>
91
+ <Tabs
92
+ className="v4-tabs-layout"
93
+ activeKey={activeTabRoutePath}
94
+ items={tabItems}
95
+ type="editable-card"
96
+ onChange={onTabsChange}
97
+ hideAdd
98
+ onEdit={(e) => closeTab(e.toString())}
99
+ size="small"
100
+ // tabBarGutter={10}
101
+ />
102
+ </KeepAliveTabContext.Provider>
103
+ )
104
+ }
105
+
106
+ export default TabsLayout;
@@ -0,0 +1,157 @@
1
+ .v4-layout-header {
2
+ padding: 0;
3
+ color: #ffffff;
4
+ position: relative;
5
+ height: auto;
6
+ background: #001325;
7
+ margin-bottom: 12px;
8
+
9
+ .header-top {
10
+ background-size: 100% 100%;
11
+ background-repeat: no-repeat;
12
+ background-position: center;
13
+ width: 100%;
14
+ height: 3.75vw;
15
+ padding: 0 0.73vw;
16
+ background-color: #001325;
17
+ border: none;
18
+ display: flex;
19
+ justify-content: space-between;
20
+
21
+ .header-title {
22
+ font-family: YouSheBiaoTiHei;
23
+ font-size: 36px;
24
+ line-height: 3.75vw;
25
+ width: 21vw;
26
+ min-width: 268px;
27
+ height: 100%;
28
+ text-align: justify;
29
+ font-style: normal;
30
+ text-transform: none;
31
+ color: #ffffff;
32
+ display: flex;
33
+ align-items: center;
34
+
35
+ img {
36
+ height: 72%;
37
+ margin-right: 16px;
38
+ }
39
+ }
40
+
41
+ .header-right {
42
+ line-height: 3.75vw;
43
+ height: 95%;
44
+ width: 18vw;
45
+ min-width: 230px;
46
+ padding-right: 12px;
47
+ text-align: right;
48
+ overflow: hidden;
49
+
50
+ .ant-space {
51
+ height: 100%;
52
+ }
53
+
54
+ .message-bar {
55
+ min-width: 0;
56
+
57
+ svg {
58
+ color: var(--ant-color-primary);
59
+ }
60
+ }
61
+
62
+ .message-bar:hover {
63
+ background: transparent;
64
+ }
65
+
66
+ .header-user {
67
+ button .ant-btn-icon {
68
+ margin-top: 4px;
69
+ }
70
+
71
+ .userButton {
72
+ cursor: pointer;
73
+ width: 4vw;
74
+ min-width: 45px;
75
+ }
76
+ }
77
+ }
78
+ }
79
+
80
+ .header-nav {
81
+ display: flex;
82
+ justify-content: start;
83
+ width: 61vw;
84
+ min-width: 780px;
85
+ min-height: 50px;
86
+ padding-left: 1%;
87
+
88
+ .ant-menu-submenu-selected::after,
89
+ .ant-menu-submenu:hover::after,
90
+ .ant-menu-submenu-open::after,
91
+ .ant-menu-submenu::after {
92
+ border-bottom: none !important;
93
+ }
94
+
95
+ .menu-disabled {
96
+ cursor: not-allowed;
97
+ }
98
+
99
+ .menu-item {
100
+ position: relative;
101
+ display: flex;
102
+ align-items: center;
103
+ justify-content: center;
104
+ cursor: pointer;
105
+ font-size: clamp(12px, 1.1vw, 100px);
106
+ font-family: YouSheBiaoTiHei;
107
+ color: #bec8d6;
108
+ padding: 0 1.5vw;
109
+ height: 3.28vw;
110
+ min-height: 42px;
111
+ }
112
+
113
+ .menu-icon {
114
+ font-size: clamp(10px, 0.9vw, 100px);
115
+ font-family: YouSheBiaoTiHei;
116
+ color: #bec8d6;
117
+ }
118
+
119
+ .ant-menu-overflow-item {
120
+ padding: 0;
121
+ position: relative;
122
+ }
123
+
124
+ .ant-menu-overflow-item:not(:nth-last-child(-n+2))::before {
125
+ position: absolute;
126
+ top: 0.3125vw;
127
+ right: 0;
128
+ width: 1px;
129
+ height: 2.55208vw;
130
+ min-height: 33px;
131
+ border-right: 0.10417vw solid;
132
+ border-width: max(1px, 0.10417vw);
133
+ border-image: linear-gradient(180deg, rgba(12, 14, 29, 0), #1e415e, #2a658c, #1c3c57, rgba(12, 14, 29, 0)) 2 2;
134
+ content: " ";
135
+ }
136
+
137
+ .menu-item-selected {
138
+ color: var(--ant-menu-item-selected-color);
139
+ background-size: 100% 100%;
140
+
141
+ .menu-icon {
142
+ color: var(--ant-menu-item-selected-color);
143
+ }
144
+ }
145
+
146
+ .anticon-ellipsis {
147
+ padding: 0 12px;
148
+ }
149
+
150
+ .ant-menu-overflow-item-rest {
151
+ height: 3.28vw;
152
+ display: flex;
153
+ align-items: center;
154
+ justify-content: center;
155
+ }
156
+ }
157
+ }
@@ -0,0 +1,119 @@
1
+ .v4-main {
2
+ width: 100%;
3
+ height: 100%;
4
+ position: absolute;
5
+ min-width: 1280px;
6
+ overflow-x: auto;
7
+
8
+ .ant-layout {
9
+ background: var(--ant-layout-body-bg) !important;
10
+ }
11
+
12
+ .act-table-title {
13
+ font-family: YouSheBiaoTiHei;
14
+ background: linear-gradient(180deg, #FFFFFF 0%, #90DEFF 100%);
15
+ -webkit-background-clip: text;
16
+ background-clip: text;
17
+ -webkit-text-fill-color: transparent;
18
+ font-size: 20px;
19
+ }
20
+
21
+ .ant-drawer,
22
+ .ant-modal-content {
23
+
24
+ .ant-card-head {
25
+ background: transparent !important;
26
+ }
27
+
28
+ .ant-layout {
29
+ background: #001325 !important;
30
+ }
31
+ }
32
+
33
+ .ant-menu-submenu-popup {
34
+ .menu-item-selected {
35
+ background: transparent !important;
36
+ }
37
+
38
+ .ant-menu-submenu-title a {
39
+ color: #bec8d6
40
+ }
41
+
42
+ .ant-menu-submenu-selected a {
43
+ color: var(--ant-primary-color)
44
+ }
45
+ }
46
+
47
+ .ant-table-tbody,
48
+ .ant-table-summary {
49
+ .ant-table-cell:has(.xiaoji) {
50
+ background-color: var(--color-5) !important;
51
+ }
52
+
53
+ .ant-table-cell:has(.heji) {
54
+ background-color: var(--color-8) !important;
55
+ }
56
+
57
+ .xiaoji {
58
+ background-color: var(--color-5) !important;
59
+ }
60
+
61
+ .heji {
62
+ background-color: var(--color-8) !important;
63
+ }
64
+ }
65
+ }
66
+
67
+ .v4-antd-table {
68
+ .ant-table-css-var {
69
+ --ant-table-border-color: #15325b;
70
+ }
71
+
72
+ .ant-table {
73
+ background: transparent;
74
+ scrollbar-color: var(--ant-table-header-bg) transparent;
75
+ }
76
+
77
+ .ant-table-tbody .ant-table-cell {
78
+ background: var(--ant-layout-body-bg) !important;
79
+ }
80
+ }
81
+
82
+ .v4-antd-drawer,
83
+ .v4-antd-modal {
84
+ .ant-table-css-var {
85
+ --ant-table-border-color: #05449a;
86
+ }
87
+ }
88
+
89
+ .v4-antd-modal {
90
+ .ant-modal-content {
91
+ background: var(--ant-color-bg-base) !important;
92
+ border: 1px solid var(--ant-color-border-secondary) !important;
93
+ }
94
+
95
+ .ant-modal-header {
96
+ background: transparent;
97
+ }
98
+ }
99
+
100
+ .v4-antd-drawer {
101
+ background: var(--ant-color-bg-base) !important;
102
+ border: 2px solid var(--ant-color-border-secondary) !important;
103
+ }
104
+
105
+ .v4-antd-card {
106
+ background: transparent;
107
+
108
+ .ant-card-head {
109
+ background: var(--ant-color-bg-container) !important;
110
+ }
111
+
112
+ .ant-card-body {
113
+ background: transparent;
114
+ }
115
+ }
116
+
117
+ .v4-antd-card:hover {
118
+ border-color: var(--ant-color-border-secondary);
119
+ }
@@ -0,0 +1,11 @@
1
+ .v4-layout-sider {
2
+ margin-bottom: 12px;
3
+ overflow: auto;
4
+ background: linear-gradient(180deg, rgba(7, 27, 67, 0.1) 0%, rgba(13, 46, 89, 0.2) 100%), radial-gradient(188% 188% at -139% 100%, rgba(39, 115, 255, 0.1) 0%, rgba(39, 115, 255, 0) 100%), radial-gradient(488% 488% at -439% 100%, rgba(39, 115, 255, 0.2) 0%, rgba(39, 115, 255, 0) 100%), radial-gradient(716% 716% at -667% 100%, rgba(39, 115, 255, 0.5) 0%, rgba(39, 115, 255, 0) 100%);
5
+ border: 1px solid #17375e;
6
+ box-shadow: inset 0 0 8px #17375e, inset 0 0 8px #17375e;
7
+
8
+ .ant-menu-item-selected {
9
+ background: linear-gradient(90deg, #88EFFF00, rgba(163, 194, 255, 0.2), #88EFFF00);
10
+ }
11
+ }
@@ -0,0 +1,43 @@
1
+ .v4-tabs-layout {
2
+ height: 100%;
3
+
4
+ .ant-tabs-nav {
5
+ margin-bottom: 0;
6
+ }
7
+
8
+ .ant-tabs-tab {
9
+ min-width: 110px;
10
+ display: flex;
11
+ justify-content: space-between;
12
+ align-items: center;
13
+ }
14
+
15
+ .ant-tabs-content,
16
+ .ant-tabs-tabpane {
17
+ height: 100%;
18
+ }
19
+
20
+ .tabs-children {
21
+ height: 100%;
22
+ overflow: auto;
23
+ border: 1px solid #17375e;
24
+ box-shadow: inset 0 0 16px #17375e,
25
+ inset 0 0 16px #17375e;
26
+ padding: 8px 16px 16px;
27
+ border-top: 0;
28
+ }
29
+
30
+ /* 组件样式异常覆盖 */
31
+ .ant-card-head {
32
+ background: transparent !important;
33
+ }
34
+
35
+ .actTable {
36
+ .ant-card {
37
+ background: transparent;
38
+ box-shadow: inset 0 0 12px #17375e,
39
+ inset 0 0 12px #17375e;
40
+ border: none;
41
+ }
42
+ }
43
+ }