vue2-client 1.16.87 → 1.16.88

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 (32) hide show
  1. package/package.json +112 -112
  2. package/src/assets/svg/female.svg +1 -1
  3. package/src/assets/svg/male.svg +1 -1
  4. package/src/base-client/components/common/HIS/HButtons/HButtons.vue +444 -412
  5. package/src/base-client/components/common/HIS/HForm/HForm.vue +361 -506
  6. package/src/base-client/components/common/HIS/HFormGroup/index.js +3 -3
  7. package/src/base-client/components/common/HIS/HTab/HTab.vue +443 -443
  8. package/src/base-client/components/common/XCollapse/XCollapse.vue +833 -833
  9. package/src/base-client/components/common/XInput/XInput.vue +205 -194
  10. package/src/base-client/components/common/XTimeline/XTimeline.vue +477 -478
  11. package/src/base-client/components/his/XHisEditor/XHisEditor.vue +705 -705
  12. package/src/base-client/components/his/XIcon/XIcon.vue +73 -73
  13. package/src/base-client/components/his/XIcon/index.js +3 -3
  14. package/src/base-client/components/his/XIcon/index.md +177 -177
  15. package/src/base-client/components/his/XList/XList.vue +829 -829
  16. package/src/base-client/components/his/XRadio/XRadio.vue +469 -389
  17. package/src/base-client/components/his/XSimpleTable/XSimpleTable.vue +159 -159
  18. package/src/base-client/components/his/XTimeSelect/XTimeSelect.vue +383 -306
  19. package/src/base-client/components/his/XTitle/XTitle.vue +274 -274
  20. package/src/base-client/components/his/XTreeRows/XTreeRows.vue +341 -341
  21. package/src/base-client/components/his/threeTestOrders/editor.vue +113 -113
  22. package/src/pages/userInfoDetailManage/ExceptionRecordQuery/index.vue +45 -45
  23. package/src-base-client/components/common/HIS/HForm/HForm.vue +347 -0
  24. package/src/assets/img/paymentMethod/icon1.png +0 -0
  25. package/src/assets/img/paymentMethod/icon2.png +0 -0
  26. package/src/assets/img/paymentMethod/icon3.png +0 -0
  27. package/src/assets/img/paymentMethod/icon4.png +0 -0
  28. package/src/assets/img/paymentMethod/icon5.png +0 -0
  29. package/src/assets/img/paymentMethod/icon6.png +0 -0
  30. package/src/base-client/components/common/XReport/XReportHospitalizationDemo.vue +0 -45
  31. package/src-base-client/components/his/XCharge/XCharge.vue +0 -0
  32. /package/src-base-client/components/{his/XCharge/README.md → common/XCollapse/XCollapse.vue} +0 -0
@@ -1,506 +1,361 @@
1
- <script setup lang="ts">
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
- // 启动时间选择框弹出到body
16
- const enablePopupToBody = computed(() => {
17
- const a = attrs
18
- return a.enablePopupToBody === 'true' || a.enablePopupToBody === true
19
- })
20
- const wrapperClassObject = computed(() => {
21
- const a = attrs
22
- const classes = {}
23
-
24
- // 1) 多个布尔型样式开关(存在且为真则生效)
25
- const booleanStyleKeys = [
26
- 'query-conditions',
27
- 'padding-50',
28
- 'label-text-horizontal',
29
- 'label-text-justify',
30
- 'left-form',
31
- 'charge-form',
32
- 'aligned-form'
33
- ]
34
- for (const key of booleanStyleKeys) {
35
- const val = a[key]
36
- const truthy = val === true || val === '' || val === 'true'
37
- if (truthy) classes[`h-form-${key}`] = true
38
- }
39
- return classes
40
- })
41
-
42
- defineExpose({
43
- getXAddNativeFormInstance: () => xAddNativeFormRef.value,
44
- init: (params) => xAddNativeFormRef.value && xAddNativeFormRef.value.init && xAddNativeFormRef.value.init(params),
45
- asyncSubmit: () => xAddNativeFormRef.value && xAddNativeFormRef.value.asyncSubmit && xAddNativeFormRef.value.asyncSubmit(),
46
- validateForm: () => xAddNativeFormRef.value && xAddNativeFormRef.value.validateForm && xAddNativeFormRef.value.validateForm()
47
- })
48
-
49
- </script>
50
-
51
- <template>
52
- <div
53
- class="h-form-wrapper"
54
- :class="[
55
- wrapperClassObject
56
- ]"
57
- >
58
-
59
- <x-add-native-form
60
- ref="xAddNativeFormRef"
61
- v-bind="$attrs"
62
- :enable-popup-to-body="enablePopupToBody"
63
- :enable-horizontal-custom="props.enableHorizontalCustom"
64
- v-on="$listeners"
65
- >
66
- <template v-for="(_, name) in $slots" #[name]="slotData">
67
- <slot :name="name" v-bind="slotData" />
68
- </template>
69
- </x-add-native-form>
70
- </div>
71
- </template>
72
-
73
- <style scoped lang="less">
74
- .h-form-wrapper {
75
- // 基础样式
76
- :deep(.ant-form-item) {
77
- margin-bottom: 4px;
78
- }
79
-
80
- // query-conditions 样式
81
- &.h-form-query-conditions {
82
- // ant-card-body 样式
83
- :deep(.ant-card-body) {
84
- padding: 0px;
85
- }
86
-
87
- // ant-row-flex 样式
88
- :deep(.ant-row-flex) {
89
- // x-form-col-wrapper 样式
90
- .x-form-col-wrapper {
91
- .ant-form-item {
92
- display: flex;
93
- width: 100%;
94
- margin-bottom: 4px;
95
- justify-content: space-between;
96
-
97
- .ant-form-item-label {
98
- padding-left: 4px;
99
- width: 100%;
100
- }
101
-
102
- .ant-form-item-control-wrapper {
103
- padding-left: -6px;
104
- }
105
- }
106
- }
107
-
108
- // ant-col-24 样式
109
- .ant-col-24 {
110
- padding: 0px 4px !important;
111
- }
112
- }
113
- }
114
-
115
- &.h-form-padding-50 {
116
- // ant-row-flex 样式
117
- :deep(.ant-row-flex) {
118
- padding-left: 50px;
119
- padding-right: 50px
120
- }
121
- }
122
-
123
- // charge-form 样式
124
- &.h-form-charge-form {
125
- margin-top: 2px !important;
126
- // 定义变量
127
- @font-common: {
128
- font-family: 'Source Han Sans', sans-serif;
129
- font-size: 16px;
130
- font-weight: normal;
131
- letter-spacing: 0em;
132
- font-variation-settings: "opsz" auto;
133
- font-feature-settings: "kern" on;
134
- };
135
-
136
- @color-primary: #313131;
137
- @color-placeholder: #999999;
138
-
139
- // 定义混合宏
140
- .input-base() {
141
- width: 100%;
142
- height: 30px;
143
- line-height: 30px;
144
- vertical-align: top;
145
- margin: 0;
146
- text-align: left;
147
- color: @color-primary;
148
- opacity: 1;
149
- @font-common();
150
- }
151
-
152
- .placeholder-base() {
153
- color: @color-placeholder;
154
- opacity: 1;
155
- @font-common();
156
- }
157
-
158
- .option-group-base() {
159
- height: 30px;
160
- line-height: 30px;
161
- display: flex;
162
- align-items: center;
163
-
164
- .ant-radio-wrapper,
165
- .ant-checkbox-wrapper {
166
- height: 30px;
167
- line-height: 30px;
168
- margin-right: 16px;
169
- }
170
- }
171
-
172
- :deep(.ant-form-item) {
173
- margin-bottom: 16px;
174
- margin-top: 0;
175
- padding: 0;
176
- display: flex;
177
- align-items: center;
178
-
179
- .ant-form-item-label {
180
- text-align: left;
181
- margin: 0 16px 0 0 !important;
182
- width: 64px;
183
- min-width: 64px;
184
- max-width: 64px;
185
- flex-shrink: 0;
186
-
187
- label {
188
- height: 23px;
189
- opacity: 1;
190
- line-height: 23px;
191
- color: @color-primary;
192
- margin: 0;
193
- padding: 0;
194
- white-space: nowrap;
195
- display: block;
196
- @font-common();
197
-
198
- // 移除冒号
199
- &::after {
200
- content: '';
201
- }
202
- }
203
- }
204
-
205
- .ant-form-item-control-wrapper {
206
- margin: 0;
207
- padding: 0;
208
- flex: 1;
209
- min-width: 0;
210
- display: flex;
211
- align-items: center;
212
-
213
- .ant-form-item-control {
214
- margin: 0;
215
- padding: 0;
216
- width: 100%;
217
- text-align: left;
218
- line-height: 30px !important;
219
-
220
- // 输入框样式统一
221
- .ant-input,
222
- .ant-input-affix-wrapper,
223
- .ant-select,
224
- .ant-input-number,
225
- .ant-picker,
226
- .ant-radio-group,
227
- .ant-checkbox-group {
228
- .input-base();
229
- }
230
-
231
- // 选择器样式
232
- .ant-select {
233
- .ant-select-selector {
234
- .input-base();
235
- height: 30px;
236
- line-height: 30px;
237
-
238
- .ant-select-selection-item {
239
- .input-base();
240
- line-height: 30px;
241
- }
242
-
243
- .ant-select-selection-placeholder {
244
- .placeholder-base();
245
- line-height: 30px;
246
- }
247
- }
248
- }
249
-
250
- // 日期选择器样式
251
- .ant-picker {
252
- height: 30px;
253
-
254
- .ant-picker-input {
255
- height: 30px;
256
- line-height: 30px;
257
- .input-base();
258
-
259
- input {
260
- .input-base();
261
- height: 30px;
262
- line-height: 30px;
263
- }
264
- }
265
- }
266
-
267
- // 数字输入框样式
268
- .ant-input-number {
269
- height: 30px;
270
-
271
- .ant-input-number-input {
272
- .input-base();
273
- height: 30px;
274
- line-height: 30px;
275
- }
276
- }
277
-
278
- // 单选框组样式
279
- .ant-radio-group {
280
- .option-group-base();
281
- }
282
-
283
- // 复选框组样式
284
- .ant-checkbox-group {
285
- .option-group-base();
286
- }
287
- }
288
- }
289
- }
290
-
291
- // 重置可能的容器边距
292
- :deep(.ant-row) {
293
- margin: 0;
294
- padding: 0;
295
-
296
- .ant-col {
297
- margin: 0;
298
- padding: 0;
299
- }
300
- }
301
-
302
- // 强制重置所有可能的表单项样式
303
- :deep(.ant-form-item) {
304
- margin: 0 0 16px 0 !important;
305
-
306
- // 重置可能的内部边距
307
- .ant-form-item-control-input,
308
- .ant-form-item-control-input-content {
309
- margin: 0 !important;
310
- padding: 0 !important;
311
- }
312
- }
313
- }
314
-
315
- // label-text-horizontal 样式 - 只控制label文字从左到右排列
316
- &.h-form-label-text-horizontal {
317
- :deep(.ant-form-item-label) {
318
- text-align: left;
319
- direction: ltr;
320
-
321
- // 标签文字水平排列
322
- .ant-form-item-label-text {
323
- display: inline-block;
324
- text-align: left;
325
- direction: ltr;
326
- unicode-bidi: normal;
327
- }
328
-
329
- // 必填标识水平排列
330
- .ant-form-item-required::before {
331
- margin-right: 4px;
332
- margin-left: 0;
333
- }
334
- }
335
- }
336
-
337
- // label-text-justify 样式 - 标签文字两端对齐分散占满 必填*可能会有问题
338
- &.h-form-label-text-justify {
339
- :deep(.ant-form-item-label) {
340
- padding-left: 0;
341
- padding-right: 8px;
342
- label {
343
- position: relative;
344
- display: block;
345
- width: 100%;
346
- white-space: nowrap;
347
- margin: 0;
348
- text-indent: 0;
349
- text-align: justify;
350
- text-align-last: justify;
351
- text-justify: inter-ideograph;
352
- box-sizing: border-box;
353
- padding-right: 12px; // 给绝对定位的冒号留出空间
354
- }
355
- // 将冒号绝对定位到最右侧,避免参与两端对齐计算
356
- label::after {
357
- position: absolute;
358
- right: 0;
359
- }
360
- }
361
- }
362
-
363
- // aligned-form 样式 - 实现标签左对齐、输入框垂直对齐的整齐布局
364
- &.h-form-aligned-form {
365
- :deep(.ant-form-item) {
366
- margin-bottom: 16px;
367
- display: flex;
368
- align-items: center;
369
- width: 100%;
370
-
371
- .ant-form-item-label {
372
- text-align: left;
373
- margin-right: 12px;
374
- flex-shrink: 0;
375
- min-width: 80px; // 确保标签有最小宽度,保持对齐
376
- max-width: 120px; // 限制最大宽度,避免过宽
377
-
378
- label {
379
- margin: 0;
380
- padding: 0;
381
- white-space: nowrap;
382
- display: block;
383
- text-align: left;
384
- line-height: 32px;
385
- height: 32px;
386
- color: rgba(0, 0, 0, 0.85);
387
- font-size: 14px;
388
-
389
- // 移除默认冒号
390
- &::after {
391
- content: '';
392
- }
393
- }
394
- }
395
-
396
- .ant-form-item-control-wrapper {
397
- flex: 1;
398
- min-width: 0;
399
- display: flex;
400
- align-items: center;
401
-
402
- .ant-form-item-control {
403
- width: 100%;
404
- margin: 0;
405
- padding: 0;
406
-
407
- // 统一输入框样式
408
- .ant-input,
409
- .ant-input-affix-wrapper,
410
- .ant-select,
411
- .ant-input-number,
412
- .ant-picker,
413
- .ant-radio-group,
414
- .ant-checkbox-group {
415
- width: 100%;
416
- height: 32px;
417
- line-height: 32px;
418
- vertical-align: top;
419
- margin: 0;
420
- text-align: left;
421
- }
422
-
423
- // 选择器样式
424
- .ant-select {
425
- .ant-select-selector {
426
- height: 32px;
427
- line-height: 32px;
428
-
429
- .ant-select-selection-item,
430
- .ant-select-selection-placeholder {
431
- line-height: 32px;
432
- height: 32px;
433
- }
434
- }
435
- }
436
-
437
- // 日期选择器样式
438
- .ant-picker {
439
- height: 32px;
440
-
441
- .ant-picker-input {
442
- height: 32px;
443
- line-height: 32px;
444
-
445
- input {
446
- height: 32px;
447
- line-height: 32px;
448
- }
449
- }
450
- }
451
-
452
- // 数字输入框样式
453
- .ant-input-number {
454
- height: 32px;
455
-
456
- .ant-input-number-input {
457
- height: 32px;
458
- line-height: 32px;
459
- }
460
- }
461
-
462
- // 单选框组和复选框组样式
463
- .ant-radio-group,
464
- .ant-checkbox-group {
465
- height: 32px;
466
- line-height: 32px;
467
- display: flex;
468
- align-items: center;
469
-
470
- .ant-radio-wrapper,
471
- .ant-checkbox-wrapper {
472
- height: 32px;
473
- line-height: 32px;
474
- margin-right: 16px;
475
- }
476
- }
477
- }
478
- }
479
- }
480
-
481
- // 确保行容器样式
482
- :deep(.ant-row) {
483
- margin: 0;
484
- padding: 0;
485
-
486
- .ant-col {
487
- margin: 0;
488
- padding: 0 8px; // 列与列之间的间距
489
- display: flex;
490
- flex-direction: column;
491
- }
492
- }
493
-
494
- // 重置可能的容器边距
495
- :deep(.ant-form-item) {
496
- margin: 0 0 16px 0 !important;
497
-
498
- .ant-form-item-control-input,
499
- .ant-form-item-control-input-content {
500
- margin: 0 !important;
501
- padding: 0 !important;
502
- }
503
- }
504
- }
505
- }
506
- </style>
1
+ <script setup lang="ts">
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
+ // 启动时间选择框弹出到body
16
+ const enablePopupToBody = computed(() => {
17
+ const a = attrs
18
+ return a.enablePopupToBody === 'true' || a.enablePopupToBody === true
19
+ })
20
+ const wrapperClassObject = computed(() => {
21
+ const a = attrs
22
+ const classes = {}
23
+
24
+ // 1) 多个布尔型样式开关(存在且为真则生效)
25
+ const booleanStyleKeys = [
26
+ 'query-conditions',
27
+ 'padding-50',
28
+ 'label-text-horizontal',
29
+ 'label-text-justify',
30
+ 'charge-form'
31
+ ]
32
+ for (const key of booleanStyleKeys) {
33
+ const val = a[key]
34
+ const truthy = val === true || val === '' || val === 'true'
35
+ if (truthy) classes[`h-form-${key}`] = true
36
+ }
37
+ return classes
38
+ })
39
+
40
+ defineExpose({
41
+ getXAddNativeFormInstance: () => xAddNativeFormRef.value,
42
+ init: (params) => xAddNativeFormRef.value && xAddNativeFormRef.value.init && xAddNativeFormRef.value.init(params),
43
+ asyncSubmit: () => xAddNativeFormRef.value && xAddNativeFormRef.value.asyncSubmit && xAddNativeFormRef.value.asyncSubmit(),
44
+ validateForm: () => xAddNativeFormRef.value && xAddNativeFormRef.value.validateForm && xAddNativeFormRef.value.validateForm()
45
+ })
46
+
47
+ </script>
48
+
49
+ <template>
50
+ <div
51
+ class="h-form-wrapper"
52
+ :class="[
53
+ wrapperClassObject
54
+ ]"
55
+ >
56
+
57
+ <x-add-native-form
58
+ ref="xAddNativeFormRef"
59
+ v-bind="$attrs"
60
+ :enable-popup-to-body="enablePopupToBody"
61
+ :enable-horizontal-custom="props.enableHorizontalCustom"
62
+ v-on="$listeners"
63
+ >
64
+ <template v-for="(_, name) in $slots" #[name]="slotData">
65
+ <slot :name="name" v-bind="slotData" />
66
+ </template>
67
+ </x-add-native-form>
68
+ </div>
69
+ </template>
70
+
71
+ <style scoped lang="less">
72
+ .h-form-wrapper {
73
+ // 基础样式
74
+ :deep(.ant-form-item) {
75
+ margin-bottom: 4px;
76
+ }
77
+
78
+ // query-conditions 样式
79
+ &.h-form-query-conditions {
80
+ // ant-card-body 样式
81
+ :deep(.ant-card-body) {
82
+ padding: 0px;
83
+ }
84
+
85
+ // ant-row-flex 样式
86
+ :deep(.ant-row-flex) {
87
+ // x-form-col-wrapper 样式
88
+ .x-form-col-wrapper {
89
+ .ant-form-item {
90
+ display: flex;
91
+ width: 100%;
92
+ margin-bottom: 4px;
93
+ justify-content: space-between;
94
+
95
+ .ant-form-item-label {
96
+ padding-left: 4px;
97
+ width: 100%;
98
+ }
99
+
100
+ .ant-form-item-control-wrapper {
101
+ padding-left: -6px;
102
+ }
103
+ }
104
+ }
105
+
106
+ // ant-col-24 样式
107
+ .ant-col-24 {
108
+ padding: 0px 4px !important;
109
+ }
110
+ }
111
+ }
112
+
113
+ &.h-form-padding-50 {
114
+ // ant-row-flex 样式
115
+ :deep(.ant-row-flex) {
116
+ padding-left: 50px;
117
+ padding-right: 50px
118
+ }
119
+ }
120
+
121
+ // charge-form 样式
122
+ &.h-form-charge-form {
123
+ margin-top: 2px !important;
124
+ // 定义变量
125
+ @font-common: {
126
+ font-family: 'Source Han Sans', sans-serif;
127
+ font-size: 16px;
128
+ font-weight: normal;
129
+ letter-spacing: 0em;
130
+ font-variation-settings: "opsz" auto;
131
+ font-feature-settings: "kern" on;
132
+ };
133
+
134
+ @color-primary: #313131;
135
+ @color-placeholder: #999999;
136
+
137
+ // 定义混合宏
138
+ .input-base() {
139
+ width: 100%;
140
+ height: 30px;
141
+ line-height: 30px;
142
+ vertical-align: top;
143
+ margin: 0;
144
+ text-align: left;
145
+ color: @color-primary;
146
+ opacity: 1;
147
+ @font-common();
148
+ }
149
+
150
+ .placeholder-base() {
151
+ color: @color-placeholder;
152
+ opacity: 1;
153
+ @font-common();
154
+ }
155
+
156
+ .option-group-base() {
157
+ height: 30px;
158
+ line-height: 30px;
159
+ display: flex;
160
+ align-items: center;
161
+
162
+ .ant-radio-wrapper,
163
+ .ant-checkbox-wrapper {
164
+ height: 30px;
165
+ line-height: 30px;
166
+ margin-right: 16px;
167
+ }
168
+ }
169
+
170
+ :deep(.ant-form-item) {
171
+ margin-bottom: 16px;
172
+ margin-top: 0;
173
+ padding: 0;
174
+ display: flex;
175
+ align-items: center;
176
+
177
+ .ant-form-item-label {
178
+ text-align: left;
179
+ margin: 0 16px 0 0 !important;
180
+ width: 64px;
181
+ min-width: 64px;
182
+ max-width: 64px;
183
+ flex-shrink: 0;
184
+
185
+ label {
186
+ height: 23px;
187
+ opacity: 1;
188
+ line-height: 23px;
189
+ color: @color-primary;
190
+ margin: 0;
191
+ padding: 0;
192
+ white-space: nowrap;
193
+ display: block;
194
+ @font-common();
195
+
196
+ // 移除冒号
197
+ &::after {
198
+ content: '';
199
+ }
200
+ }
201
+ }
202
+
203
+ .ant-form-item-control-wrapper {
204
+ margin: 0;
205
+ padding: 0;
206
+ flex: 1;
207
+ min-width: 0;
208
+ display: flex;
209
+ align-items: center;
210
+
211
+ .ant-form-item-control {
212
+ margin: 0;
213
+ padding: 0;
214
+ width: 100%;
215
+ text-align: left;
216
+ line-height: 30px !important;
217
+
218
+ // 输入框样式统一
219
+ .ant-input,
220
+ .ant-input-affix-wrapper,
221
+ .ant-select,
222
+ .ant-input-number,
223
+ .ant-picker,
224
+ .ant-radio-group,
225
+ .ant-checkbox-group {
226
+ .input-base();
227
+ }
228
+
229
+ // 选择器样式
230
+ .ant-select {
231
+ .ant-select-selector {
232
+ .input-base();
233
+ height: 30px;
234
+ line-height: 30px;
235
+
236
+ .ant-select-selection-item {
237
+ .input-base();
238
+ line-height: 30px;
239
+ }
240
+
241
+ .ant-select-selection-placeholder {
242
+ .placeholder-base();
243
+ line-height: 30px;
244
+ }
245
+ }
246
+ }
247
+
248
+ // 日期选择器样式
249
+ .ant-picker {
250
+ height: 30px;
251
+
252
+ .ant-picker-input {
253
+ height: 30px;
254
+ line-height: 30px;
255
+ .input-base();
256
+
257
+ input {
258
+ .input-base();
259
+ height: 30px;
260
+ line-height: 30px;
261
+ }
262
+ }
263
+ }
264
+
265
+ // 数字输入框样式
266
+ .ant-input-number {
267
+ height: 30px;
268
+
269
+ .ant-input-number-input {
270
+ .input-base();
271
+ height: 30px;
272
+ line-height: 30px;
273
+ }
274
+ }
275
+
276
+ // 单选框组样式
277
+ .ant-radio-group {
278
+ .option-group-base();
279
+ }
280
+
281
+ // 复选框组样式
282
+ .ant-checkbox-group {
283
+ .option-group-base();
284
+ }
285
+ }
286
+ }
287
+ }
288
+
289
+ // 重置可能的容器边距
290
+ :deep(.ant-row) {
291
+ margin: 0;
292
+ padding: 0;
293
+
294
+ .ant-col {
295
+ margin: 0;
296
+ padding: 0;
297
+ }
298
+ }
299
+
300
+ // 强制重置所有可能的表单项样式
301
+ :deep(.ant-form-item) {
302
+ margin: 0 0 16px 0 !important;
303
+
304
+ // 重置可能的内部边距
305
+ .ant-form-item-control-input,
306
+ .ant-form-item-control-input-content {
307
+ margin: 0 !important;
308
+ padding: 0 !important;
309
+ }
310
+ }
311
+ }
312
+
313
+ // label-text-horizontal 样式 - 只控制label文字从左到右排列
314
+ &.h-form-label-text-horizontal {
315
+ :deep(.ant-form-item-label) {
316
+ text-align: left;
317
+ direction: ltr;
318
+
319
+ // 标签文字水平排列
320
+ .ant-form-item-label-text {
321
+ display: inline-block;
322
+ text-align: left;
323
+ direction: ltr;
324
+ unicode-bidi: normal;
325
+ }
326
+
327
+ // 必填标识水平排列
328
+ .ant-form-item-required::before {
329
+ margin-right: 4px;
330
+ margin-left: 0;
331
+ }
332
+ }
333
+ }
334
+
335
+ // label-text-justify 样式 - 标签文字两端对齐分散占满 必填*可能会有问题
336
+ &.h-form-label-text-justify {
337
+ :deep(.ant-form-item-label) {
338
+ padding-left: 0;
339
+ padding-right: 8px;
340
+ label {
341
+ position: relative;
342
+ display: block;
343
+ width: 100%;
344
+ white-space: nowrap;
345
+ margin: 0;
346
+ text-indent: 0;
347
+ text-align: justify;
348
+ text-align-last: justify;
349
+ text-justify: inter-ideograph;
350
+ box-sizing: border-box;
351
+ padding-right: 12px; // 给绝对定位的冒号留出空间
352
+ }
353
+ // 将冒号绝对定位到最右侧,避免参与两端对齐计算
354
+ label::after {
355
+ position: absolute;
356
+ right: 0;
357
+ }
358
+ }
359
+ }
360
+ }
361
+ </style>