vue2-client 1.22.2 → 1.22.3

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 (170) hide show
  1. package/.claude/settings.local.json +30 -30
  2. package/.env.his +19 -19
  3. package/.eslintrc.js +74 -74
  4. package/.history/.eslintrc_20260521171150.js +74 -0
  5. package/.history/.eslintrc_20260521171213.js +74 -0
  6. package/.history/src/base-client/components/common/HIS/HAddNativeForm/HAddNativeForm_20260601154443.vue +726 -0
  7. package/.history/src/base-client/components/common/HIS/HAddNativeForm/HAddNativeForm_20260601154700.vue +478 -0
  8. package/.history/src/base-client/components/common/HIS/HButtons/HButtons_20260512175435.vue +706 -0
  9. package/.history/src/base-client/components/common/HIS/HButtons/HButtons_20260512175450.vue +694 -0
  10. package/.history/src/base-client/components/common/HIS/HButtons/HButtons_20260611152602.vue +755 -0
  11. package/.history/src/base-client/components/common/HIS/HForm/HForm_20260513145941.vue +524 -0
  12. package/.history/src/base-client/components/common/HIS/HForm/HForm_20260513153133.vue +731 -0
  13. package/.history/src/base-client/components/common/HIS/HForm/HForm_20260513160316.vue +525 -0
  14. package/.history/src/base-client/components/common/HIS/HForm/HForm_20260601144150.vue +1046 -0
  15. package/.history/src/base-client/components/common/HIS/HFormTable/HFormTable_20260310142713.vue +512 -0
  16. package/.history/src/base-client/components/common/HIS/HFormTable/HFormTable_20260310145118.vue +511 -0
  17. package/.history/src/base-client/components/common/HIS/HFormTable/HFormTable_20260311094834.vue +696 -0
  18. package/.history/src/base-client/components/common/HIS/HFormTable/HFormTable_20260320143028.vue +693 -0
  19. package/.history/src/base-client/components/common/HIS/HFormTable/HFormTable_20260409101450.vue +677 -0
  20. package/.history/src/base-client/components/common/HIS/HTab/HTab_20260508164645.vue +758 -0
  21. package/.history/src/base-client/components/common/HIS/HTab/HTab_20260508164714.vue +693 -0
  22. package/.history/src/base-client/components/common/HIS/HTab/HTab_20260508171651.vue +716 -0
  23. package/.history/src/base-client/components/common/HIS/HTab/HTab_20260509133717.vue +695 -0
  24. package/.history/src/base-client/components/common/HIS/HTab/HTab_20260509171115.vue +664 -0
  25. package/.history/src/base-client/components/common/XAddNativeForm/XAddNativeForm_20260513140637.vue +1455 -0
  26. package/.history/src/base-client/components/common/XAddNativeForm/XAddNativeForm_20260513140935.vue +1441 -0
  27. package/.history/src/base-client/components/common/XAddNativeForm/XAddNativeForm_20260513150818.vue +1441 -0
  28. package/.history/src/base-client/components/common/XAddNativeForm/XAddNativeForm_20260513153119.vue +1442 -0
  29. package/.history/src/base-client/components/common/XAddNativeForm/XAddNativeForm_20260513153126.vue +1486 -0
  30. package/.history/src/base-client/components/common/XForm/XFormItem_20260513140854.vue +1607 -0
  31. package/.history/src/base-client/components/common/XMarkdownViewer/XMarkdownViewer_20260519140403.vue +643 -0
  32. package/.history/src/base-client/components/common/XMarkdownViewer/XMarkdownViewer_20260519140829.vue +628 -0
  33. package/.history/src/base-client/components/common/XMarkdownViewer/demo_20260519142824.vue +104 -0
  34. package/.history/src/base-client/components/common/XMarkdownViewer/demo_20260519143155.vue +102 -0
  35. package/.history/src/base-client/components/common/XReportGrid/XReport_20260309171231.vue +1241 -0
  36. package/.history/src/base-client/components/common/XReportGrid/XReport_20260309171441.vue +1223 -0
  37. package/.history/src/base-client/components/his/HAi/HAi_20260612174826.vue +472 -0
  38. package/.history/src/base-client/components/his/HAi/HAi_20260612175839.vue +538 -0
  39. package/.history/src/base-client/components/his/HAi/HAi_20260615103331.vue +650 -0
  40. package/.history/src/base-client/components/his/XHDescriptions/XHDescriptions_20260424134504.vue +1469 -0
  41. package/.history/src/base-client/components/his/XSidebar/XSidebar_20260610171133.vue +788 -0
  42. package/.history/src/base-client/components/his/XSidebar/XSidebar_20260610171151.vue +780 -0
  43. package/.history/src/base-client/components/his/XTransfer/XTransfer_20260511170841.vue +585 -0
  44. package/.history/src/base-client/components/his/XTransfer/XTransfer_20260511171138.vue +787 -0
  45. package/.history/src/base-client/components/his/XTransfer/XTransfer_20260512141830.vue +739 -0
  46. package/.history/src/components/STable/index_20260409155138.js +806 -0
  47. package/.history/src/components/STable/index_20260409155218.js +814 -0
  48. package/.history/src/expression/core/Expression_20260305164427.js +1371 -0
  49. package/.history/src/expression/core/Expression_20260305170258.js +1358 -0
  50. package/.history/src/expression/core/Program_20260305111830.js +944 -0
  51. package/.history/src/expression/core/Program_20260305112041.js +931 -0
  52. package/.history/src/logic/LogicRunner_20260304154306.js +170 -0
  53. package/.history/src/logic/LogicRunner_20260304155553.js +112 -0
  54. package/.history/src/logic/LogicRunner_20260305105834.js +112 -0
  55. package/.history/src/logic/LogicRunner_20260305112718.js +129 -0
  56. package/.history/src/logic/LogicRunner_20260305182436.js +133 -0
  57. package/.history/src/logic/LogicRunner_20260306151301.js +213 -0
  58. package/.history/src/logic/LogicRunner_20260306152419.js +213 -0
  59. package/.history/src/logic/plugins/common/DateTools_20260305154159.js +61 -0
  60. package/.history/src/logic/plugins/common/DateTools_20260305154217.js +44 -0
  61. package/.history/src/logic/plugins/common/DateTools_20260305161014.js +44 -0
  62. package/.history/src/logic/plugins/common/HttpTools_20260305164352.js +80 -0
  63. package/.history/src/logic/plugins/common/HttpTools_20260305170258.js +75 -0
  64. package/.history/src/logic/plugins/common/HttpTools_20260305171634.js +75 -0
  65. package/.history/src/logic/plugins/common/HttpTools_20260306152419.js +72 -0
  66. package/.history/src/services/api/restTools_20260427142149.js +245 -0
  67. package/.history/src/services/api/restTools_20260427142853.js +230 -0
  68. package/.history/src/services/api/restTools_20260519135558.js +230 -0
  69. package/.history/src/services/api/restTools_20260519140825.js +230 -0
  70. package/.history/src/services/api/restTools_20260519151223.js +230 -0
  71. package/.history/src/utils/indexedDB_20260306150918.js +593 -0
  72. package/.history/src/utils/indexedDB_20260306151301.js +586 -0
  73. package/.idea/af-vue2-client.iml +9 -0
  74. package/.idea/codeStyles/Project.xml +62 -0
  75. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  76. package/.idea/misc.xml +6 -0
  77. package/.idea/modules.xml +1 -1
  78. package/Components.md +60 -60
  79. package/index.js +31 -31
  80. package/jest-transform-stub.js +8 -8
  81. package/jest.setup.js +7 -7
  82. package/package.json +1 -1
  83. package/preview-input-box.html +180 -0
  84. package/src/assets/img/querySlotDemo.svg +15 -15
  85. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  86. package/src/base-client/components/common/CitySelect/index.js +3 -3
  87. package/src/base-client/components/common/CitySelect/index.md +109 -109
  88. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  89. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  90. package/src/base-client/components/common/HIS/HButtons/HButtons.vue +55 -1
  91. package/src/base-client/components/common/HIS/HForm/HForm.vue +1186 -1186
  92. package/src/base-client/components/common/HIS/HTab/HTab.vue +88 -1
  93. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  94. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  95. package/src/base-client/components/common/Tree/index.js +2 -2
  96. package/src/base-client/components/common/Upload/index.js +3 -3
  97. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  98. package/src/base-client/components/common/XAddReport/XAddReport.vue +16 -1
  99. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  100. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  101. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  102. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  103. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  104. package/src/base-client/components/common/XDescriptions/index.md +382 -382
  105. package/src/base-client/components/common/XForm/index.md +178 -178
  106. package/src/base-client/components/common/XInput/XInput.vue +32 -1
  107. package/src/base-client/components/common/XInspectionDetailDrawer/index.vue +1 -1
  108. package/src/base-client/components/common/XMarkdownViewer/demo.vue +102 -102
  109. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  110. package/src/base-client/components/common/XStepView/index.js +3 -3
  111. package/src/base-client/components/common/XStepView/index.md +31 -31
  112. package/src/base-client/components/common/XTable/index.md +255 -255
  113. package/src/base-client/components/his/HAi/HAi.vue +1177 -436
  114. package/src/base-client/components/his/XList/XList.vue +337 -58
  115. package/src/base-client/components/his/XSidebar/XSidebar.vue +36 -12
  116. package/src/base-client/components/his/XTransfer/index.md +327 -327
  117. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  118. package/src/base-client/plugins/Config.js +19 -19
  119. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  120. package/src/components/Charts/Bar.vue +62 -62
  121. package/src/components/Charts/ChartCard.vue +134 -134
  122. package/src/components/Charts/Liquid.vue +67 -67
  123. package/src/components/Charts/MiniArea.vue +39 -39
  124. package/src/components/Charts/MiniBar.vue +39 -39
  125. package/src/components/Charts/MiniProgress.vue +75 -75
  126. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  127. package/src/components/Charts/Radar.vue +68 -68
  128. package/src/components/Charts/RankList.vue +77 -77
  129. package/src/components/Charts/TagCloud.vue +113 -113
  130. package/src/components/Charts/TransferBar.vue +64 -64
  131. package/src/components/Charts/Trend.vue +82 -82
  132. package/src/components/Charts/chart.less +12 -12
  133. package/src/components/Charts/smooth.area.less +13 -13
  134. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  135. package/src/components/NumberInfo/index.js +3 -3
  136. package/src/components/NumberInfo/index.less +54 -54
  137. package/src/components/NumberInfo/index.md +43 -43
  138. package/src/components/STable/index.js +953 -953
  139. package/src/components/card/ChartCard.vue +79 -79
  140. package/src/components/chart/Bar.vue +60 -60
  141. package/src/components/chart/MiniArea.vue +67 -67
  142. package/src/components/chart/MiniBar.vue +59 -59
  143. package/src/components/chart/MiniProgress.vue +57 -57
  144. package/src/components/chart/Radar.vue +80 -80
  145. package/src/components/chart/RankingList.vue +60 -60
  146. package/src/components/chart/Trend.vue +79 -79
  147. package/src/components/chart/index.less +9 -9
  148. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  149. package/src/components/input/IInput.vue +66 -66
  150. package/src/components/menu/SideMenu.vue +75 -75
  151. package/src/components/menu/menu.js +273 -273
  152. package/src/components/tool/AStepItem.vue +60 -60
  153. package/src/layouts/CommonLayout.vue +56 -56
  154. package/src/lib.js +1 -1
  155. package/src/mock/extend/index.js +84 -84
  156. package/src/mock/goods/index.js +108 -108
  157. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  158. package/src/pages/system/dictionary/index.vue +44 -44
  159. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  160. package/src/pages/system/monitor/operLog/index.vue +37 -37
  161. package/src/services/api/cas.js +79 -79
  162. package/src/store/modules/setting.js +119 -119
  163. package/src/utils/errorCode.js +6 -6
  164. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
  165. package/.idea/MarsCodeWorkspaceAppSettings.xml +0 -7
  166. package/.idea/google-java-format.xml +0 -6
  167. package/.idea/inspectionProfiles/Project_Default.xml +0 -24
  168. package/.idea/jsLinters/eslint.xml +0 -6
  169. package/.idea/vue2-client.iml +0 -12
  170. package/.vscode/settings.json +0 -28
@@ -0,0 +1,731 @@
1
+ <script setup>
2
+ import XAddNativeForm from '@vue2-client/base-client/components/common/XAddNativeForm/XAddNativeForm.vue'
3
+ import { ref, computed, useAttrs } from 'vue'
4
+
5
+ const xAddNativeFormRef = ref()
6
+
7
+ const attrs = useAttrs()
8
+ const props = defineProps({
9
+ // 是否启用 horizontal 模式的自定义配置
10
+ enableHorizontalCustom: {
11
+ type: Boolean,
12
+ default: false
13
+ }
14
+ })
15
+ // 从 radio-style_1 属性值中获取 padding
16
+ const radioPadding = computed(() => {
17
+ const val = attrs['radio-style_1']
18
+ if (val !== undefined && val !== '' && val !== null) {
19
+ const num = Number(val)
20
+ return isNaN(num) ? 9 : num
21
+ }
22
+ return 9
23
+ })
24
+
25
+ // 包装器样式对象
26
+ const wrapperStyleObject = computed(() => {
27
+ return {
28
+ '--radio-padding': `${radioPadding.value}px`
29
+ }
30
+ })
31
+
32
+ // 启动时间选择框弹出到body
33
+ const enablePopupToBody = computed(() => {
34
+ const a = attrs
35
+ return a.enablePopupToBody === 'true' || a.enablePopupToBody === true
36
+ })
37
+ const wrapperClassObject = computed(() => {
38
+ const a = attrs
39
+ const classes = {}
40
+
41
+ // 1) 多个布尔型样式开关(存在且为真则生效)
42
+ const booleanStyleKeys = [
43
+ 'query-conditions',
44
+ 'padding-50',
45
+ 'label-text-horizontal',
46
+ 'label-text-justify',
47
+ 'simple-inline',
48
+ 'simple-inline-show-label',
49
+ 'label-justify',
50
+ 'charge-form',
51
+ 'mini-form',
52
+ 'content-right',
53
+ 'label-font-style'
54
+ ]
55
+ // 只要属性存在就生效的样式开关
56
+ const existStyleKeys = ['radio-style_1']
57
+ for (const key of booleanStyleKeys) {
58
+ const val = a[key]
59
+ const truthy = val === true || val === '' || val === 'true'
60
+ if (truthy) classes[`h-form-${key}`] = true
61
+ }
62
+ // 检查存在即生效的样式开关
63
+ for (const key of existStyleKeys) {
64
+ if (key in a) classes[`h-form-${key}`] = true
65
+ }
66
+
67
+ return classes
68
+ })
69
+
70
+ defineExpose({
71
+ getXAddNativeFormInstance: () => xAddNativeFormRef.value,
72
+ init: (params) => xAddNativeFormRef.value && xAddNativeFormRef.value.init && xAddNativeFormRef.value.init(params),
73
+ asyncSubmit: () => xAddNativeFormRef.value && xAddNativeFormRef.value.asyncSubmit && xAddNativeFormRef.value.asyncSubmit(),
74
+ validateForm: () => xAddNativeFormRef.value && xAddNativeFormRef.value.validateForm && xAddNativeFormRef.value.validateForm(),
75
+ /** 等待配置结束的异步方法,委托给内部 XAddNativeForm */
76
+ waitConfigEnd: () => xAddNativeFormRef.value?.waitConfigEnd?.() ?? Promise.resolve()
77
+ })
78
+
79
+ </script>
80
+
81
+ <template>
82
+ <div
83
+ class="h-form-wrapper"
84
+ :class="[
85
+ wrapperClassObject
86
+ ]"
87
+ :style="wrapperStyleObject"
88
+ >
89
+
90
+ <x-add-native-form
91
+ ref="xAddNativeFormRef"
92
+ v-bind="$attrs"
93
+ :enable-popup-to-body="enablePopupToBody"
94
+ :enable-horizontal-custom="props.enableHorizontalCustom"
95
+ @configEnd="$emit('configEnd')"
96
+ v-on="$listeners"
97
+ >
98
+ <template v-for="(_, name) in $slots" #[name]="slotData">
99
+ <slot :name="name" v-bind="slotData" />
100
+ </template>
101
+ </x-add-native-form>
102
+ </div>
103
+ </template>
104
+
105
+ <style scoped lang="less">
106
+ // 单选框 padding 变量
107
+ @radio-padding: var(--radio-padding, 9px);
108
+
109
+ .h-form-wrapper {
110
+ // 基础样式
111
+ :deep(.ant-form-item) {
112
+ margin-bottom: 4px;
113
+ }
114
+ &.h-form-mini-form {
115
+ :deep(.ant-form-inline) {
116
+ .ant-row-flex {
117
+ .ant-col {
118
+ flex: auto !important;
119
+ max-width: 250px !important;
120
+ }
121
+ }
122
+ }
123
+ :deep(.ant-form-item){
124
+ margin-right: 0px !important;
125
+ }
126
+ }
127
+
128
+ &.h-form-content-right {
129
+ :deep(.ant-form-inline) {
130
+ .ant-row-flex {
131
+ justify-content: right;
132
+ }
133
+ }
134
+ }
135
+
136
+ // query-conditions 样式
137
+ &.h-form-query-conditions {
138
+ :deep(.ant-card-body) {
139
+ padding: 0px;
140
+ }
141
+
142
+ :deep(.ant-row-flex) {
143
+ .x-form-col-wrapper {
144
+ .ant-form-item {
145
+ display: flex !important;
146
+ width: 100%;
147
+ height: 100%;
148
+ margin-bottom: 0px;
149
+ justify-content: space-between;
150
+
151
+ .ant-form-item-label {
152
+ display: flex;
153
+ align-items: center;
154
+ height: 100%;
155
+
156
+ label {
157
+ height: auto;
158
+ font-family: Source Han Sans;
159
+ font-size: 16px;
160
+ font-weight: normal;
161
+ line-height: normal;
162
+ color: #313131;
163
+ display: block !important; // 保持 block 以支持两端对齐
164
+ width: 100%;
165
+ white-space: nowrap;
166
+ margin: 0;
167
+ text-align: justify;
168
+ text-align-last: justify;
169
+ text-justify: inter-ideograph;
170
+ box-sizing: border-box;
171
+ padding-right: 0 !important; // 移除冒号预留空间
172
+
173
+ // 使用 line-height 实现垂直居中
174
+ line-height: 40px; // 设置与容器高度相同的行高
175
+ }
176
+
177
+ & > label::after {
178
+ display: none !important;
179
+ }
180
+ }
181
+ }
182
+ }
183
+
184
+ .ant-col-24 {
185
+ padding: 0px 4px !important;
186
+ }
187
+ }
188
+ }
189
+ // 单选框样式设计图中切换模式的样式
190
+ &.h-form-radio-style_1{
191
+ :deep(.ant-radio-button-wrapper) {
192
+ padding: 0 @radio-padding;
193
+ }
194
+ :deep(.ant-radio-button-wrapper-checked){
195
+ background-color: #0057FE;
196
+ color: white;
197
+ }
198
+ }
199
+
200
+ &.h-form-simple-inline {
201
+ :deep(.ant-form-item-label){
202
+ display: none !important;
203
+ }
204
+ :deep(.ant-form-item-control-wrapper){
205
+ width: 100%;
206
+ }
207
+ }
208
+
209
+ // simple-inline-show-label 样式 - simple-inline模式但显示label,左右结构布局
210
+ &.h-form-simple-inline-show-label {
211
+ // 穿透 x-add-native-form 中的 simple-inline-item.show-label 样式
212
+ :deep(.simple-inline-item.show-label > .x-form-col-wrapper > .ant-form-item),
213
+ :deep(.simple-inline-item.show-label .x-form-col-wrapper .ant-form-item) {
214
+ > .ant-form-item-label {
215
+ width: auto !important;
216
+ min-width: 60px !important;
217
+ max-width: 120px !important;
218
+ padding: 0 8px 0 0 !important;
219
+ overflow: visible;
220
+ display: flex !important;
221
+ align-items: center;
222
+
223
+ label {
224
+ height: 39px;
225
+ opacity: 1;
226
+ font-family: 'Source Han Sans', sans-serif;
227
+ font-size: 16px;
228
+ font-weight: normal;
229
+ line-height: 39px;
230
+ letter-spacing: 0em;
231
+ font-variation-settings: "opsz" auto;
232
+ font-feature-settings: "kern" on;
233
+ color: #313131;
234
+ white-space: nowrap;
235
+ margin: 0;
236
+ }
237
+
238
+ label::after {
239
+ content: '';
240
+ }
241
+ }
242
+
243
+ > .ant-form-item-control-wrapper {
244
+ flex: 1;
245
+ min-width: 0;
246
+ }
247
+
248
+ > .ant-form-item-control {
249
+ display: flex;
250
+ align-items: center;
251
+
252
+ .ant-input,
253
+ .ant-input-affix-wrapper,
254
+ .ant-select .ant-select-selector,
255
+ .ant-input-number .ant-input-number-input,
256
+ .ant-picker {
257
+ border-radius: 6px;
258
+ opacity: 1;
259
+ box-sizing: border-box;
260
+ border: 1px solid #E5E9F0;
261
+ }
262
+
263
+ .ant-input,
264
+ .ant-input-affix-wrapper .ant-input,
265
+ .ant-input-number .ant-input-number-input,
266
+ .ant-picker input {
267
+ opacity: 1;
268
+ font-family: 'Source Han Sans', sans-serif;
269
+ font-size: 16px;
270
+ font-weight: normal;
271
+ line-height: 39px;
272
+ letter-spacing: 0em;
273
+ font-variation-settings: "opsz" auto;
274
+ font-feature-settings: "kern" on;
275
+ color: #313131;
276
+ }
277
+
278
+ .ant-select {
279
+ .ant-select-selector {
280
+ .ant-select-selection-item {
281
+ opacity: 1;
282
+ font-family: 'Source Han Sans', sans-serif;
283
+ font-size: 16px;
284
+ font-weight: normal;
285
+ line-height: 39px;
286
+ letter-spacing: 0em;
287
+ font-variation-settings: "opsz" auto;
288
+ font-feature-settings: "kern" on;
289
+ color: #313131;
290
+ }
291
+ }
292
+ }
293
+
294
+ .ant-picker {
295
+ input {
296
+ opacity: 1;
297
+ font-family: 'Source Han Sans', sans-serif;
298
+ font-size: 16px;
299
+ font-weight: normal;
300
+ line-height: 39px;
301
+ letter-spacing: 0em;
302
+ font-variation-settings: "opsz" auto;
303
+ font-feature-settings: "kern" on;
304
+ color: #313131;
305
+ }
306
+ }
307
+ }
308
+ }
309
+ }
310
+
311
+ &.h-form-padding-50 {
312
+ // ant-row-flex 样式
313
+ :deep(.ant-row-flex) {
314
+ padding-left: 50px;
315
+ padding-right: 50px
316
+ }
317
+ }
318
+
319
+ // 单选框样式设计图中切换模式的样式
320
+ &.h-form-radio-style_1{
321
+ :deep(.ant-radio-button-wrapper) {
322
+ padding: 0 @radio-padding;
323
+ }
324
+ :deep(.ant-radio-button-wrapper-checked){
325
+ background-color: #0057FE;
326
+ color: white;
327
+ }
328
+ }
329
+
330
+ // charge-form 样式
331
+ &.h-form-charge-form {
332
+ margin-top: 2px !important;
333
+ // 定义变量
334
+ @font-common: {
335
+ font-family: 'Source Han Sans', sans-serif;
336
+ font-size: 16px;
337
+ font-weight: normal;
338
+ letter-spacing: 0em;
339
+ font-feature-settings: "kern" on;
340
+ };
341
+
342
+ @color-primary: #313131;
343
+ @color-placeholder: #999999;
344
+
345
+ // 定义混合宏
346
+ .input-base() {
347
+ width: 100%;
348
+ height: 30px;
349
+ line-height: 30px;
350
+ vertical-align: top;
351
+ margin: 0;
352
+ text-align: left;
353
+ color: @color-primary;
354
+ opacity: 1;
355
+ @font-common();
356
+ }
357
+
358
+ .placeholder-base() {
359
+ color: @color-placeholder;
360
+ opacity: 1;
361
+ @font-common();
362
+ }
363
+
364
+ .option-group-base() {
365
+ height: 30px;
366
+ line-height: 30px;
367
+ display: flex;
368
+ align-items: center;
369
+
370
+ .ant-radio-wrapper,
371
+ .ant-checkbox-wrapper {
372
+ height: 30px;
373
+ line-height: 30px;
374
+ margin-right: 16px;
375
+ }
376
+ }
377
+
378
+ :deep(.ant-form-item) {
379
+ margin-bottom: 16px;
380
+ margin-top: 0;
381
+ padding: 0;
382
+ display: flex;
383
+ align-items: center;
384
+
385
+ .ant-form-item-label {
386
+ text-align: left;
387
+ margin: 0 11px 0 0 !important;
388
+ width: 64px;
389
+ min-width: 64px;
390
+ max-width: 64px;
391
+ flex-shrink: 0;
392
+
393
+ label {
394
+ height: 23px;
395
+ opacity: 1;
396
+ line-height: 23px;
397
+ color: @color-primary;
398
+ margin: 0;
399
+ padding: 0;
400
+ white-space: nowrap;
401
+ display: block;
402
+ @font-common();
403
+
404
+ // 移除冒号
405
+ &::after {
406
+ content: '';
407
+ }
408
+ }
409
+ }
410
+
411
+ .ant-form-item-control-wrapper {
412
+ margin: 0;
413
+ padding: 0;
414
+ flex: 1;
415
+ min-width: 0;
416
+ display: flex;
417
+ align-items: center;
418
+
419
+ .ant-form-item-control {
420
+ margin: 0;
421
+ padding: 0;
422
+ width: 100%;
423
+ text-align: left;
424
+ line-height: 30px !important;
425
+
426
+ // 输入框样式统一
427
+ .ant-input,
428
+ .ant-input-affix-wrapper,
429
+ .ant-select,
430
+ .ant-input-number,
431
+ .ant-picker,
432
+ .ant-radio-group,
433
+ .ant-checkbox-group {
434
+ .input-base();
435
+ }
436
+
437
+ // 选择器样式
438
+ .ant-select {
439
+ .ant-select-selector {
440
+ .input-base();
441
+ height: 30px;
442
+ line-height: 30px;
443
+
444
+ .ant-select-selection-item {
445
+ .input-base();
446
+ line-height: 30px;
447
+ }
448
+
449
+ .ant-select-selection-placeholder {
450
+ .placeholder-base();
451
+ line-height: 30px;
452
+ color: #313131;
453
+ }
454
+ }
455
+ }
456
+
457
+ // 日期选择器样式
458
+ .ant-picker {
459
+ height: 30px;
460
+
461
+ .ant-picker-input {
462
+ height: 30px;
463
+ line-height: 30px;
464
+ .input-base();
465
+
466
+ input {
467
+ .input-base();
468
+ height: 30px;
469
+ line-height: 30px;
470
+ }
471
+ }
472
+ }
473
+
474
+ // 数字输入框样式
475
+ .ant-input-number {
476
+ height: 30px;
477
+
478
+ .ant-input-number-input {
479
+ .input-base();
480
+ height: 30px;
481
+ line-height: 30px;
482
+ }
483
+ }
484
+
485
+ // 单选框组样式
486
+ .ant-radio-group {
487
+ .option-group-base();
488
+ }
489
+
490
+ // 复选框组样式
491
+ .ant-checkbox-group {
492
+ .option-group-base();
493
+ }
494
+ }
495
+ }
496
+ }
497
+
498
+ // 重置可能的容器边距
499
+ :deep(.ant-row) {
500
+ margin: 0;
501
+ padding: 0;
502
+
503
+ .ant-col {
504
+ margin: 0;
505
+ padding: 0;
506
+ }
507
+ }
508
+
509
+ // 强制重置所有可能的表单项样式
510
+ :deep(.ant-form-item) {
511
+ margin: 0 0 16px 0 !important;
512
+
513
+ // 重置可能的内部边距
514
+ .ant-form-item-control-input,
515
+ .ant-form-item-control-input-content {
516
+ margin: 0 !important;
517
+ padding: 0 !important;
518
+ }
519
+ }
520
+ }
521
+
522
+ // label-text-horizontal 样式 - 只控制label文字从左到右排列
523
+ &.h-form-label-text-horizontal {
524
+ :deep(.ant-form-item-label) {
525
+ text-align: left;
526
+ direction: ltr;
527
+
528
+ // 标签文字水平排列
529
+ .ant-form-item-label-text {
530
+ display: inline-block;
531
+ text-align: left;
532
+ direction: ltr;
533
+ unicode-bidi: normal;
534
+ }
535
+
536
+ // 必填标识水平排列
537
+ .ant-form-item-required::before {
538
+ margin-right: 4px;
539
+ margin-left: 0;
540
+ }
541
+ }
542
+ }
543
+
544
+ // label-text-justify 样式 - 标签文字两端对齐分散占满 必填*可能会有问题
545
+ &.h-form-label-text-justify {
546
+ :deep(.ant-form-item-label) {
547
+ padding-left: 0;
548
+ padding-right: 8px;
549
+ label {
550
+ position: relative;
551
+ display: block;
552
+ width: 100%;
553
+ white-space: nowrap;
554
+ margin: 0;
555
+ text-indent: 0;
556
+ text-align: justify;
557
+ text-align-last: justify;
558
+ text-justify: inter-ideograph;
559
+ box-sizing: border-box;
560
+ padding-right: 12px; // 给绝对定位的冒号留出空间
561
+ }
562
+ // 将冒号绝对定位到最右侧,避免参与两端对齐计算
563
+ label::after {
564
+ position: absolute;
565
+ right: 0;
566
+ }
567
+ }
568
+ }
569
+
570
+ // label-justify 样式 - 两端对齐,应用指定字体样式
571
+ &.h-form-label-justify {
572
+ padding-left: 8px;
573
+
574
+ :deep(.ant-form-item-label) {
575
+ padding-left: 0;
576
+ padding-right: 8px;
577
+ // 限制label容器的宽度,强制两端对齐
578
+ width: 80px !important;
579
+ min-width: 80px;
580
+ max-width: 80px;
581
+ label {
582
+ position: relative;
583
+ display: block;
584
+ width: 100%;
585
+ white-space: nowrap;
586
+ margin: 0;
587
+ text-indent: 0;
588
+ text-align: justify;
589
+ text-align-last: justify;
590
+ text-justify: inter-ideograph;
591
+ box-sizing: border-box;
592
+ padding-right: 12px; // 给绝对定位的冒号留出空间
593
+
594
+ // 应用指定的字体样式
595
+ height: 39px;
596
+ opacity: 1;
597
+ font-family: 'Source Han Sans', sans-serif;
598
+ font-size: 16px;
599
+ font-weight: normal;
600
+ line-height: 39px;
601
+ color: #313131;
602
+ }
603
+ // 去掉冒号
604
+ label::after {
605
+ content: '';
606
+ }
607
+ }
608
+ }
609
+
610
+ // label-font-style 样式 - 独立的label字体样式
611
+ &.h-form-label-font-style {
612
+ :deep(.ant-form-item-label) {
613
+ label {
614
+ height: 23px;
615
+ opacity: 1;
616
+ font-family: Source Han Sans;
617
+ font-size: 16px;
618
+ font-weight: normal;
619
+ line-height: normal;
620
+ letter-spacing: 0em;
621
+ font-feature-settings: "kern" on;
622
+ color: #313131;
623
+ }
624
+ }
625
+ }
626
+ }
627
+ </style>
628
+ <!-- 全局样式:覆盖 XAddNativeForm 中 simple-inline show-label 的样式 -->
629
+ <style lang="less">
630
+ .h-form-wrapper.h-form-simple-inline-show-label {
631
+ .simple-inline-item.show-label > .x-form-col-wrapper > .ant-form-item,
632
+ .simple-inline-item.show-label .x-form-col-wrapper .ant-form-item {
633
+ > .ant-form-item-label {
634
+ width: auto !important;
635
+ min-width: 60px !important;
636
+ max-width: 120px !important;
637
+ padding: 0 8px 0 0 !important;
638
+ overflow: visible;
639
+ display: flex !important;
640
+ align-items: center;
641
+ flex-shrink: 0;
642
+
643
+ label {
644
+ height: 39px;
645
+ opacity: 1;
646
+ font-family: 'Source Han Sans', sans-serif;
647
+ font-size: 16px;
648
+ font-weight: normal;
649
+ line-height: 39px;
650
+ letter-spacing: 0em;
651
+ font-variation-settings: "opsz" auto;
652
+ font-feature-settings: "kern" on;
653
+ color: #313131;
654
+ white-space: nowrap;
655
+ margin: 0;
656
+ }
657
+
658
+ label::after {
659
+ content: '';
660
+ }
661
+ }
662
+
663
+ > .ant-form-item-control-wrapper {
664
+ flex: 1;
665
+ min-width: 0;
666
+ }
667
+
668
+ > .ant-form-item-control {
669
+ display: flex;
670
+ align-items: center;
671
+
672
+ .ant-input,
673
+ .ant-input-affix-wrapper,
674
+ .ant-select .ant-select-selector,
675
+ .ant-input-number .ant-input-number-input,
676
+ .ant-picker {
677
+ border-radius: 6px;
678
+ opacity: 1;
679
+ box-sizing: border-box;
680
+ border: 1px solid #E5E9F0;
681
+ }
682
+
683
+ .ant-input,
684
+ .ant-input-affix-wrapper .ant-input,
685
+ .ant-input-number .ant-input-number-input,
686
+ .ant-picker input {
687
+ opacity: 1;
688
+ font-family: 'Source Han Sans', sans-serif;
689
+ font-size: 16px;
690
+ font-weight: normal;
691
+ line-height: 39px;
692
+ letter-spacing: 0em;
693
+ font-variation-settings: "opsz" auto;
694
+ font-feature-settings: "kern" on;
695
+ color: #313131;
696
+ }
697
+
698
+ .ant-select {
699
+ .ant-select-selector {
700
+ .ant-select-selection-item {
701
+ opacity: 1;
702
+ font-family: 'Source Han Sans', sans-serif;
703
+ font-size: 16px;
704
+ font-weight: normal;
705
+ line-height: 39px;
706
+ letter-spacing: 0em;
707
+ font-variation-settings: "opsz" auto;
708
+ font-feature-settings: "kern" on;
709
+ color: #313131;
710
+ }
711
+ }
712
+ }
713
+
714
+ .ant-picker {
715
+ input {
716
+ opacity: 1;
717
+ font-family: 'Source Han Sans', sans-serif;
718
+ font-size: 16px;
719
+ font-weight: normal;
720
+ line-height: 39px;
721
+ letter-spacing: 0em;
722
+ font-variation-settings: "opsz" auto;
723
+ font-feature-settings: "kern" on;
724
+ color: #313131;
725
+ }
726
+ }
727
+ }
728
+ }
729
+ }
730
+ </style>
731
+