vue2-client 1.22.21 → 1.22.23

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 (87) hide show
  1. package/.env.his +19 -19
  2. package/.idea/.name +1 -0
  3. package/.idea/MarsCodeWorkspaceAppSettings.xml +8 -0
  4. package/.idea/deployment.xml +14 -0
  5. package/.idea/gradle.xml +7 -0
  6. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  7. package/.idea/libraries/contour_plot.xml +9 -0
  8. package/.idea/material_theme_project_new.xml +18 -0
  9. package/.idea/misc.xml +87 -5
  10. package/package.json +1 -1
  11. package/src/base-client/components/common/HIS/HForm/HForm.vue +1186 -1186
  12. package/src/base-client/components/common/HIS/HTab/HTab.vue +790 -790
  13. package/src/base-client/components/common/XInspectionDetailDrawer/components/AiDeviceStatus.vue +25 -4
  14. package/src/base-client/components/common/XInspectionDetailDrawer/components/ImageAnnotationShow.vue +1371 -0
  15. package/src/base-client/components/common/XMarkdownViewer/demo.vue +102 -102
  16. package/src/base-client/components/his/XTransfer/index.md +327 -327
  17. package/.history/.eslintrc_20260521171150.js +0 -74
  18. package/.history/.eslintrc_20260521171213.js +0 -74
  19. package/.history/src/base-client/components/common/HIS/HAddNativeForm/HAddNativeForm_20260601154443.vue +0 -726
  20. package/.history/src/base-client/components/common/HIS/HAddNativeForm/HAddNativeForm_20260601154700.vue +0 -478
  21. package/.history/src/base-client/components/common/HIS/HButtons/HButtons_20260512175435.vue +0 -706
  22. package/.history/src/base-client/components/common/HIS/HButtons/HButtons_20260512175450.vue +0 -694
  23. package/.history/src/base-client/components/common/HIS/HButtons/HButtons_20260611152602.vue +0 -755
  24. package/.history/src/base-client/components/common/HIS/HForm/HForm_20260513145941.vue +0 -524
  25. package/.history/src/base-client/components/common/HIS/HForm/HForm_20260513153133.vue +0 -731
  26. package/.history/src/base-client/components/common/HIS/HForm/HForm_20260513160316.vue +0 -525
  27. package/.history/src/base-client/components/common/HIS/HForm/HForm_20260601144150.vue +0 -1046
  28. package/.history/src/base-client/components/common/HIS/HFormTable/HFormTable_20260310142713.vue +0 -512
  29. package/.history/src/base-client/components/common/HIS/HFormTable/HFormTable_20260310145118.vue +0 -511
  30. package/.history/src/base-client/components/common/HIS/HFormTable/HFormTable_20260311094834.vue +0 -696
  31. package/.history/src/base-client/components/common/HIS/HFormTable/HFormTable_20260320143028.vue +0 -693
  32. package/.history/src/base-client/components/common/HIS/HFormTable/HFormTable_20260409101450.vue +0 -677
  33. package/.history/src/base-client/components/common/HIS/HTab/HTab_20260625173703.vue +0 -767
  34. package/.history/src/base-client/components/common/HIS/HTab/HTab_20260626112425.vue +0 -803
  35. package/.history/src/base-client/components/common/XAddNativeForm/XAddNativeForm_20260513140637.vue +0 -1455
  36. package/.history/src/base-client/components/common/XAddNativeForm/XAddNativeForm_20260513140935.vue +0 -1441
  37. package/.history/src/base-client/components/common/XAddNativeForm/XAddNativeForm_20260513150818.vue +0 -1441
  38. package/.history/src/base-client/components/common/XAddNativeForm/XAddNativeForm_20260513153119.vue +0 -1442
  39. package/.history/src/base-client/components/common/XAddNativeForm/XAddNativeForm_20260513153126.vue +0 -1486
  40. package/.history/src/base-client/components/common/XForm/XFormItem_20260513140854.vue +0 -1607
  41. package/.history/src/base-client/components/common/XMarkdownViewer/XMarkdownViewer_20260519140403.vue +0 -643
  42. package/.history/src/base-client/components/common/XMarkdownViewer/XMarkdownViewer_20260519140829.vue +0 -628
  43. package/.history/src/base-client/components/common/XMarkdownViewer/demo_20260519142824.vue +0 -104
  44. package/.history/src/base-client/components/common/XMarkdownViewer/demo_20260519143155.vue +0 -102
  45. package/.history/src/base-client/components/common/XReportGrid/XReport_20260309171231.vue +0 -1241
  46. package/.history/src/base-client/components/common/XReportGrid/XReport_20260309171441.vue +0 -1223
  47. package/.history/src/base-client/components/his/HAi/HAi_20260612174826.vue +0 -472
  48. package/.history/src/base-client/components/his/HAi/HAi_20260612175839.vue +0 -538
  49. package/.history/src/base-client/components/his/HAi/HAi_20260615103331.vue +0 -650
  50. package/.history/src/base-client/components/his/HAi/HAi_20260618140214.vue +0 -1396
  51. package/.history/src/base-client/components/his/HAi/HAi_20260618140556.vue +0 -1396
  52. package/.history/src/base-client/components/his/XHDescriptions/XHDescriptions_20260424134504.vue +0 -1469
  53. package/.history/src/base-client/components/his/XSidebar/XSidebar_20260610171133.vue +0 -788
  54. package/.history/src/base-client/components/his/XSidebar/XSidebar_20260610171151.vue +0 -780
  55. package/.history/src/base-client/components/his/XTransfer/XTransfer_20260511170841.vue +0 -585
  56. package/.history/src/base-client/components/his/XTransfer/XTransfer_20260511171138.vue +0 -787
  57. package/.history/src/base-client/components/his/XTransfer/XTransfer_20260512141830.vue +0 -739
  58. package/.history/src/components/STable/index_20260409155138.js +0 -806
  59. package/.history/src/components/STable/index_20260409155218.js +0 -814
  60. package/.history/src/expression/core/Expression_20260305164427.js +0 -1371
  61. package/.history/src/expression/core/Expression_20260305170258.js +0 -1358
  62. package/.history/src/expression/core/Program_20260305111830.js +0 -944
  63. package/.history/src/expression/core/Program_20260305112041.js +0 -931
  64. package/.history/src/logic/LogicRunner_20260304154306.js +0 -170
  65. package/.history/src/logic/LogicRunner_20260304155553.js +0 -112
  66. package/.history/src/logic/LogicRunner_20260305105834.js +0 -112
  67. package/.history/src/logic/LogicRunner_20260305112718.js +0 -129
  68. package/.history/src/logic/LogicRunner_20260305182436.js +0 -133
  69. package/.history/src/logic/LogicRunner_20260306151301.js +0 -213
  70. package/.history/src/logic/LogicRunner_20260306152419.js +0 -213
  71. package/.history/src/logic/plugins/common/DateTools_20260305154159.js +0 -61
  72. package/.history/src/logic/plugins/common/DateTools_20260305154217.js +0 -44
  73. package/.history/src/logic/plugins/common/DateTools_20260305161014.js +0 -44
  74. package/.history/src/logic/plugins/common/HttpTools_20260305164352.js +0 -80
  75. package/.history/src/logic/plugins/common/HttpTools_20260305170258.js +0 -75
  76. package/.history/src/logic/plugins/common/HttpTools_20260305171634.js +0 -75
  77. package/.history/src/logic/plugins/common/HttpTools_20260306152419.js +0 -72
  78. package/.history/src/services/api/restTools_20260427142149.js +0 -245
  79. package/.history/src/services/api/restTools_20260427142853.js +0 -230
  80. package/.history/src/services/api/restTools_20260519135558.js +0 -230
  81. package/.history/src/services/api/restTools_20260519140825.js +0 -230
  82. package/.history/src/services/api/restTools_20260519151223.js +0 -230
  83. package/.history/src/utils/indexedDB_20260306150918.js +0 -593
  84. package/.history/src/utils/indexedDB_20260306151301.js +0 -586
  85. package/.idea/codeStyles/Project.xml +0 -62
  86. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  87. package/preview-input-box.html +0 -180
@@ -1,1046 +0,0 @@
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
- 'small-input-style'
55
- ]
56
- // 只要属性存在就生效的样式开关
57
- const existStyleKeys = ['radio-style_1']
58
- for (const key of booleanStyleKeys) {
59
- const val = a[key]
60
- const truthy = val === true || val === '' || val === 'true'
61
- if (truthy) classes[`h-form-${key}`] = true
62
- }
63
- // 检查存在即生效的样式开关
64
- for (const key of existStyleKeys) {
65
- if (key in a) classes[`h-form-${key}`] = true
66
- }
67
-
68
- return classes
69
- })
70
-
71
- defineExpose({
72
- getXAddNativeFormInstance: () => xAddNativeFormRef.value,
73
- init: (params) => xAddNativeFormRef.value && xAddNativeFormRef.value.init && xAddNativeFormRef.value.init(params),
74
- asyncSubmit: () => xAddNativeFormRef.value && xAddNativeFormRef.value.asyncSubmit && xAddNativeFormRef.value.asyncSubmit(),
75
- validateForm: () => xAddNativeFormRef.value && xAddNativeFormRef.value.validateForm && xAddNativeFormRef.value.validateForm(),
76
- /** 等待配置结束的异步方法,委托给内部 XAddNativeForm */
77
- waitConfigEnd: () => xAddNativeFormRef.value?.waitConfigEnd?.() ?? Promise.resolve()
78
- })
79
-
80
- </script>
81
-
82
- <template>
83
- <div
84
- class="h-form-wrapper"
85
- :class="[
86
- wrapperClassObject
87
- ]"
88
- :style="wrapperStyleObject"
89
- >
90
-
91
- <x-add-native-form
92
- ref="xAddNativeFormRef"
93
- v-bind="$attrs"
94
- :enable-popup-to-body="enablePopupToBody"
95
- :enable-horizontal-custom="props.enableHorizontalCustom"
96
- @configEnd="$emit('configEnd')"
97
- v-on="$listeners"
98
- >
99
- <template v-for="(_, name) in $slots" #[name]="slotData">
100
- <slot :name="name" v-bind="slotData" />
101
- </template>
102
- </x-add-native-form>
103
- </div>
104
- </template>
105
-
106
- <style scoped lang="less">
107
- // 单选框 padding 变量
108
- @radio-padding: var(--radio-padding, 9px);
109
-
110
- .h-form-wrapper {
111
- // 基础样式
112
- :deep(.ant-form-item) {
113
- margin-bottom: 4px;
114
- }
115
-
116
- &.h-form-mini-form {
117
- :deep(.ant-form-inline) {
118
- .ant-row-flex {
119
- .ant-col {
120
- flex: auto !important;
121
- max-width: 250px !important;
122
- }
123
- }
124
- }
125
-
126
- :deep(.ant-form-item) {
127
- margin-right: 0px !important;
128
- }
129
- }
130
-
131
- &.h-form-content-right {
132
- :deep(.ant-form-inline) {
133
- .ant-row-flex {
134
- justify-content: right;
135
- }
136
- }
137
- }
138
-
139
- // query-conditions 样式
140
- &.h-form-query-conditions {
141
- :deep(.ant-card-body) {
142
- padding: 0px;
143
- }
144
-
145
- :deep(.ant-row-flex) {
146
- .x-form-col-wrapper {
147
- .ant-form-item {
148
- display: flex !important;
149
- width: 100%;
150
- height: 100%;
151
- margin-bottom: 0px;
152
- justify-content: space-between;
153
-
154
- .ant-form-item-label {
155
- display: flex;
156
- align-items: center;
157
- height: 100%;
158
-
159
- label {
160
- height: auto;
161
- font-family: Source Han Sans;
162
- font-size: 16px;
163
- font-weight: normal;
164
- line-height: normal;
165
- color: #313131;
166
- display: block !important; // 保持 block 以支持两端对齐
167
- width: 100%;
168
- white-space: nowrap;
169
- margin: 0;
170
- text-align: justify;
171
- text-align-last: justify;
172
- text-justify: inter-ideograph;
173
- box-sizing: border-box;
174
- padding-right: 0 !important; // 移除冒号预留空间
175
-
176
- // 使用 line-height 实现垂直居中
177
- line-height: 40px; // 设置与容器高度相同的行高
178
- }
179
-
180
- & > label::after {
181
- display: none !important;
182
- }
183
- }
184
- }
185
- }
186
-
187
- .ant-col-24 {
188
- padding: 0px 4px !important;
189
- }
190
- }
191
- }
192
-
193
- // 单选框样式设计图中切换模式的样式
194
- &.h-form-radio-style_1 {
195
- :deep(.ant-radio-button-wrapper) {
196
- padding: 0 @radio-padding;
197
- }
198
-
199
- :deep(.ant-radio-button-wrapper-checked) {
200
- background-color: #0057FE;
201
- color: white;
202
- }
203
- }
204
-
205
- &.h-form-simple-inline {
206
- :deep(.ant-form-item-label) {
207
- display: none !important;
208
- }
209
-
210
- :deep(.ant-form-item-control-wrapper) {
211
- width: 100%;
212
- }
213
- }
214
-
215
- &.h-form-padding-50 {
216
- // ant-row-flex 样式
217
- :deep(.ant-row-flex) {
218
- padding-left: 50px;
219
- padding-right: 50px
220
- }
221
- }
222
-
223
- // 单选框样式设计图中切换模式的样式
224
- &.h-form-radio-style_1 {
225
- :deep(.ant-radio-button-wrapper) {
226
- padding: 0 @radio-padding;
227
- }
228
-
229
- :deep(.ant-radio-button-wrapper-checked) {
230
- background-color: #0057FE;
231
- color: white;
232
- }
233
- }
234
-
235
- // charge-form 样式
236
- &.h-form-charge-form {
237
- margin-top: 2px !important;
238
- // 定义变量
239
- @font-common: {
240
- font-family: 'Source Han Sans', sans-serif;
241
- font-size: 16px;
242
- font-weight: normal;
243
- letter-spacing: 0em;
244
- font-feature-settings: "kern" on;
245
- };
246
-
247
- @color-primary: #313131;
248
- @color-placeholder: #999999;
249
-
250
- // 定义混合宏
251
- .input-base() {
252
- width: 100%;
253
- height: 30px;
254
- line-height: 30px;
255
- vertical-align: top;
256
- margin: 0;
257
- text-align: left;
258
- color: @color-primary;
259
- opacity: 1;
260
- @font-common();
261
- }
262
-
263
- .placeholder-base() {
264
- color: @color-placeholder;
265
- opacity: 1;
266
- @font-common();
267
- }
268
-
269
- .option-group-base() {
270
- height: 30px;
271
- line-height: 30px;
272
- display: flex;
273
- align-items: center;
274
-
275
- .ant-radio-wrapper,
276
- .ant-checkbox-wrapper {
277
- height: 30px;
278
- line-height: 30px;
279
- margin-right: 16px;
280
- }
281
- }
282
-
283
- :deep(.ant-form-item) {
284
- margin-bottom: 16px;
285
- margin-top: 0;
286
- padding: 0;
287
- display: flex;
288
- align-items: center;
289
-
290
- .ant-form-item-label {
291
- text-align: left;
292
- margin: 0 11px 0 0 !important;
293
- width: 64px;
294
- min-width: 64px;
295
- max-width: 64px;
296
- flex-shrink: 0;
297
-
298
- label {
299
- height: 23px;
300
- opacity: 1;
301
- line-height: 23px;
302
- color: @color-primary;
303
- margin: 0;
304
- padding: 0;
305
- white-space: nowrap;
306
- display: block;
307
- @font-common();
308
-
309
- // 移除冒号
310
- &::after {
311
- content: '';
312
- }
313
- }
314
- }
315
-
316
- .ant-form-item-control-wrapper {
317
- margin: 0;
318
- padding: 0;
319
- flex: 1;
320
- min-width: 0;
321
- display: flex;
322
- align-items: center;
323
-
324
- .ant-form-item-control {
325
- margin: 0;
326
- padding: 0;
327
- width: 100%;
328
- text-align: left;
329
- line-height: 30px !important;
330
-
331
- // 输入框样式统一
332
- .ant-input,
333
- .ant-input-affix-wrapper,
334
- .ant-select,
335
- .ant-input-number,
336
- .ant-picker,
337
- .ant-radio-group,
338
- .ant-checkbox-group {
339
- .input-base();
340
- }
341
-
342
- // 选择器样式
343
- .ant-select {
344
- .ant-select-selector {
345
- .input-base();
346
- height: 30px;
347
- line-height: 30px;
348
-
349
- .ant-select-selection-item {
350
- .input-base();
351
- line-height: 30px;
352
- }
353
-
354
- .ant-select-selection-placeholder {
355
- .placeholder-base();
356
- line-height: 30px;
357
- color: #313131;
358
- }
359
- }
360
- }
361
-
362
- // 日期选择器样式
363
- .ant-picker {
364
- height: 30px;
365
-
366
- .ant-picker-input {
367
- height: 30px;
368
- line-height: 30px;
369
- .input-base();
370
-
371
- input {
372
- .input-base();
373
- height: 30px;
374
- line-height: 30px;
375
- }
376
- }
377
- }
378
-
379
- // 数字输入框样式
380
- .ant-input-number {
381
- height: 30px;
382
-
383
- .ant-input-number-input {
384
- .input-base();
385
- height: 30px;
386
- line-height: 30px;
387
- }
388
- }
389
-
390
- // 单选框组样式
391
- .ant-radio-group {
392
- .option-group-base();
393
- }
394
-
395
- // 复选框组样式
396
- .ant-checkbox-group {
397
- .option-group-base();
398
- }
399
- }
400
- }
401
- }
402
-
403
- // 重置可能的容器边距
404
- :deep(.ant-row) {
405
- margin: 0;
406
- padding: 0;
407
-
408
- .ant-col {
409
- margin: 0;
410
- padding: 0;
411
- }
412
- }
413
-
414
- // 强制重置所有可能的表单项样式
415
- :deep(.ant-form-item) {
416
- margin: 0 0 16px 0 !important;
417
-
418
- // 重置可能的内部边距
419
- .ant-form-item-control-input,
420
- .ant-form-item-control-input-content {
421
- margin: 0 !important;
422
- padding: 0 !important;
423
- }
424
- }
425
- }
426
-
427
- // label-text-horizontal 样式 - 只控制label文字从左到右排列
428
- &.h-form-label-text-horizontal {
429
- :deep(.ant-form-item-label) {
430
- text-align: left;
431
- direction: ltr;
432
-
433
- // 标签文字水平排列
434
- .ant-form-item-label-text {
435
- display: inline-block;
436
- text-align: left;
437
- direction: ltr;
438
- unicode-bidi: normal;
439
- }
440
-
441
- // 必填标识水平排列
442
- .ant-form-item-required::before {
443
- margin-right: 4px;
444
- margin-left: 0;
445
- }
446
- }
447
- }
448
-
449
- // label-text-justify 样式 - 标签文字两端对齐分散占满 必填*可能会有问题
450
- &.h-form-label-text-justify {
451
- :deep(.ant-form-item-label) {
452
- padding-left: 0;
453
- padding-right: 8px;
454
-
455
- label {
456
- position: relative;
457
- display: block;
458
- width: 100%;
459
- white-space: nowrap;
460
- margin: 0;
461
- text-indent: 0;
462
- text-align: justify;
463
- text-align-last: justify;
464
- text-justify: inter-ideograph;
465
- box-sizing: border-box;
466
- padding-right: 12px; // 给绝对定位的冒号留出空间
467
- }
468
-
469
- // 将冒号绝对定位到最右侧,避免参与两端对齐计算
470
- label::after {
471
- position: absolute;
472
- right: 0;
473
- }
474
- }
475
- }
476
-
477
- // label-justify 样式 - 两端对齐,应用指定字体样式
478
- &.h-form-label-justify {
479
- padding-left: 8px;
480
-
481
- :deep(.ant-form-item-label) {
482
- padding-left: 0;
483
- padding-right: 8px;
484
- // 限制label容器的宽度,强制两端对齐
485
- width: 80px !important;
486
- min-width: 80px;
487
- max-width: 80px;
488
-
489
- label {
490
- position: relative;
491
- display: block;
492
- width: 100%;
493
- white-space: nowrap;
494
- margin: 0;
495
- text-indent: 0;
496
- text-align: justify;
497
- text-align-last: justify;
498
- text-justify: inter-ideograph;
499
- box-sizing: border-box;
500
- padding-right: 12px; // 给绝对定位的冒号留出空间
501
-
502
- // 应用指定的字体样式
503
- height: 39px;
504
- opacity: 1;
505
- font-family: 'Source Han Sans', sans-serif;
506
- font-size: 16px;
507
- font-weight: normal;
508
- line-height: 39px;
509
- color: #313131;
510
- }
511
-
512
- // 去掉冒号
513
- label::after {
514
- content: '';
515
- }
516
- }
517
- }
518
-
519
- // label-font-style 样式 - 独立的label字体样式
520
- &.h-form-label-font-style {
521
- :deep(.ant-form-item-label) {
522
- label {
523
- height: 23px;
524
- opacity: 1;
525
- font-family: Source Han Sans;
526
- font-size: 16px;
527
- font-weight: normal;
528
- line-height: normal;
529
- letter-spacing: 0em;
530
- font-feature-settings: "kern" on;
531
- color: #313131;
532
- }
533
- }
534
- }
535
-
536
- &.h-form-simple-inline-show-label {
537
- // ========== 公共字体样式变量 ==========
538
- @common-font: {
539
- font-family: Source Han Sans !important;
540
- font-size: 16px !important;
541
- font-weight: normal !important;
542
- letter-spacing: 0em !important;
543
- font-feature-settings: "kern" on !important;
544
- };
545
-
546
- @common-text-color: #313131;
547
- @common-placeholder-color: #999;
548
- @common-border-color: #E5E9F0;
549
- @common-focus-color: #0057FE;
550
-
551
- // ========== 表单项基础布局 ==========
552
- :deep(.ant-form-item) {
553
- display: flex !important;
554
- flex-direction: row !important;
555
- align-items: flex-start !important;
556
- margin: 0 !important;
557
- padding: 0 !important;
558
- margin-bottom: 0 !important;
559
- }
560
-
561
- // 修复 ant-row 伪元素
562
- :deep(.ant-row) {
563
- &::before,
564
- &::after {
565
- display: table !important;
566
- content: '' !important;
567
- }
568
- }
569
-
570
- // ========== Label 样式 ==========
571
- :deep(.ant-form-item-label) {
572
- display: flex !important;
573
- align-items: flex-start !important;
574
- padding: 0 8px 0 0 !important;
575
- width: 90px !important;
576
- min-width: 90px !important;
577
- max-width: 90px !important;
578
- flex-shrink: 0 !important;
579
- flex: none !important;
580
-
581
- label {
582
- position: relative !important;
583
- display: block !important;
584
- width: 100% !important;
585
- height: 39px !important;
586
- margin: 0 !important;
587
- padding: 0 !important;
588
- opacity: 1 !important;
589
- @common-font();
590
- line-height: 39px !important;
591
- color: @common-text-color !important;
592
- text-align: justify !important;
593
- text-align-last: justify !important;
594
- text-justify: inter-ideograph !important;
595
- text-indent: 12px !important;
596
- box-sizing: border-box !important;
597
-
598
- &::after {
599
- display: none !important;
600
- content: none !important;
601
- }
602
-
603
- &:not(.ant-form-item-required)::before {
604
- display: none !important;
605
- content: none !important;
606
- }
607
- }
608
- }
609
-
610
- // 必填项星号
611
- :deep(.ant-form-item-required) {
612
- &::before {
613
- display: block !important;
614
- visibility: visible !important;
615
- content: '*' !important;
616
- position: absolute !important;
617
- left: -8px !important;
618
- top: 40% !important;
619
- transform: translateY(-50%) !important;
620
- color: #ff4d4f !important;
621
- font-size: 14px !important;
622
- font-family: SimSun, sans-serif !important;
623
- z-index: 1 !important;
624
- line-height: 1 !important;
625
- }
626
- }
627
-
628
- // ========== 控件容器 ==========
629
- :deep(.ant-form-item-control-wrapper) {
630
- flex: 1 !important;
631
- min-width: 0 !important;
632
- width: auto !important;
633
-
634
- .ant-form-item-control {
635
- width: 100% !important;
636
-
637
- .ant-form-item-children {
638
- display: block !important;
639
- width: 100% !important;
640
- padding-right: 41px;
641
- padding-left: 6px;
642
- }
643
- }
644
- }
645
-
646
- // ========== 公共输入框样式 Mixin ==========
647
- .input-common() {
648
- border-radius: 6px !important;
649
- box-sizing: border-box !important;
650
- border: 1px solid @common-border-color !important;
651
- @common-font();
652
- color: @common-text-color !important;
653
-
654
- &:hover,
655
- &:focus {
656
- border-color: @common-focus-color !important;
657
- box-shadow: none !important;
658
- }
659
-
660
- &[readonly] {
661
- background-color: #f5f5f5;
662
- cursor: not-allowed;
663
- }
664
- }
665
-
666
- // ========== 普通输入框(不包括文本域) ==========
667
- :deep(.ant-input:not(textarea)) {
668
- .input-common();
669
- height: 39px !important;
670
- line-height: 37px !important;
671
- padding: 0 11px !important;
672
-
673
- &::placeholder {
674
- line-height: 37px !important;
675
- color: @common-placeholder-color !important;
676
- }
677
- }
678
-
679
- // ========== 文本域样式 ==========
680
- :deep(textarea.ant-input) {
681
- .input-common();
682
- min-height: 80px !important;
683
- padding: 8px 11px !important;
684
- line-height: 22px !important;
685
- resize: vertical !important;
686
-
687
- &::placeholder {
688
- color: @common-placeholder-color !important;
689
- line-height: 22px !important;
690
- }
691
- }
692
-
693
- // ========== 下拉框样式 ==========
694
- :deep(.ant-select) {
695
- .ant-select-selection {
696
- border-radius: 6px !important;
697
- border: 1px solid @common-border-color !important;
698
- height: 39px !important;
699
-
700
- &:hover {
701
- border-color: @common-focus-color !important;
702
- }
703
- }
704
-
705
- .ant-select-selection__rendered {
706
- height: 39px !important;
707
- line-height: 39px !important;
708
- margin: 0 !important;
709
- padding: 0 11px !important;
710
- }
711
-
712
- .ant-select-selection__placeholder {
713
- @common-font();
714
- color: @common-placeholder-color !important;
715
- line-height: 37px !important;
716
- height: 37px !important;
717
- top: 0 !important;
718
- margin-top: 0 !important;
719
- padding-left: 11px;
720
- }
721
-
722
- .ant-select-selection-selected-value {
723
- @common-font();
724
- color: @common-text-color !important;
725
- line-height: 37px !important;
726
- padding: 0 !important;
727
- }
728
-
729
- .ant-select-arrow {
730
- right: 11px !important;
731
- top: 50% !important;
732
- transform: translateY(-50%) !important;
733
-
734
- .ant-select-arrow-icon {
735
- color: @common-placeholder-color !important;
736
- }
737
- }
738
- }
739
-
740
- :deep(.ant-select-focused) {
741
- .ant-select-selection {
742
- border-color: @common-focus-color !important;
743
- box-shadow: none !important;
744
- }
745
- }
746
-
747
- // ========== 单选框样式 ==========
748
- :deep(.ant-radio-group) {
749
- display: flex !important;
750
- align-items: center !important;
751
- height: 39px !important;
752
- line-height: 39px !important;
753
- }
754
-
755
- :deep(.ant-radio-wrapper) {
756
- @common-font();
757
- line-height: 39px !important;
758
- color: @common-text-color !important;
759
- margin-right: 16px !important;
760
- height: 39px !important;
761
- display: inline-flex !important;
762
- align-items: center !important;
763
-
764
- // 单选框后面的文字
765
- span:not(.ant-radio) {
766
- @common-font();
767
- line-height: 39px !important;
768
- color: @common-text-color !important;
769
- padding: 0 !important;
770
- }
771
- }
772
-
773
- // 单选框圆圈
774
- :deep(.ant-radio) {
775
- margin-right: 4px !important;
776
-
777
- .ant-radio-inner {
778
- width: 16px !important;
779
- height: 16px !important;
780
- background: #FFFFFF !important;
781
- border: 1px solid #CDCFD4 !important;
782
- border-radius: 50% !important;
783
- position: relative !important;
784
-
785
- &::after {
786
- width: 10px !important;
787
- height: 10px !important;
788
- background: @common-focus-color !important;
789
- border-radius: 50% !important;
790
- position: absolute !important;
791
- top: 50% !important;
792
- left: 50% !important;
793
- transform: translate(-50%, -50%) !important;
794
- margin: 0 !important;
795
- }
796
- }
797
-
798
- // 选中状态
799
- &.ant-radio-checked .ant-radio-inner {
800
- border-color: @common-focus-color !important;
801
- background: #FFFFFF !important;
802
- }
803
-
804
- // hover 状态
805
- &:hover .ant-radio-inner {
806
- border-color: @common-focus-color !important;
807
- }
808
- }
809
- }
810
-
811
- // small-input-style 小输入框文字样式(32px高度,234px宽度)
812
- &.h-form-small-input-style {
813
- // 输入框基础样式
814
- :deep(.ant-input) {
815
- width: 234px;
816
- height: 32px;
817
- border-radius: 6px;
818
- opacity: 1;
819
- box-sizing: border-box;
820
- border: 1px solid #E5E9F0;
821
-
822
- &::placeholder {
823
- height: 23px;
824
- opacity: 1;
825
- font-family: Source Han Sans;
826
- font-size: 16px;
827
- font-weight: normal;
828
- line-height: 32px;
829
- letter-spacing: 0em;
830
- font-feature-settings: "kern" on;
831
- color: #A7A7A7;
832
- }
833
- }
834
-
835
- :deep(.ant-input-affix-wrapper) {
836
- width: 234px;
837
- height: 32px;
838
- border-radius: 6px;
839
- opacity: 1;
840
- box-sizing: border-box;
841
- border: 1px solid #E5E9F0;
842
-
843
- &::placeholder {
844
- height: 23px;
845
- opacity: 1;
846
- font-family: Source Han Sans;
847
- font-size: 16px;
848
- font-weight: normal;
849
- line-height: 32px;
850
- letter-spacing: 0em;
851
-
852
- font-feature-settings: "kern" on;
853
- color: #A7A7A7;
854
- }
855
-
856
- .ant-input {
857
- font-family: Source Han Sans;
858
- font-size: 16px;
859
- font-weight: normal;
860
- line-height: 32px;
861
- letter-spacing: 0em;
862
-
863
- font-feature-settings: "kern" on;
864
- color: #313131;
865
- }
866
- }
867
-
868
- // 输入框文字样式
869
- :deep(.ant-input) {
870
- font-family: Source Han Sans;
871
- font-size: 16px;
872
- font-weight: normal;
873
- line-height: 32px;
874
- letter-spacing: 0em;
875
-
876
- font-feature-settings: "kern" on;
877
- color: #313131;
878
- }
879
-
880
- // 下拉框样式
881
- :deep(.ant-select) {
882
- width: 234px;
883
-
884
- .ant-select-selector {
885
- width: 234px !important;
886
- height: 32px !important;
887
- padding: 0 11px !important;
888
- border-radius: 6px !important;
889
- border: 1px solid #E5E9F0 !important;
890
- background: #fff !important;
891
- }
892
-
893
- .ant-select-selection-placeholder,
894
- .ant-select-selection__placeholder,
895
- .ant-select-search__field__placeholder {
896
- position: absolute !important;
897
- top: 0 !important;
898
- right: 11px !important;
899
- max-width: 100% !important;
900
- height: 32px !important;
901
- margin-top: 0 !important;
902
- overflow: hidden !important;
903
- color: #A7A7A7 !important;
904
- line-height: 30px !important;
905
- white-space: nowrap !important;
906
- text-overflow: ellipsis !important;
907
- font-family: Source Han Sans !important;
908
- font-size: 16px !important;
909
- font-weight: normal !important;
910
- letter-spacing: 0em !important;
911
- font-feature-settings: "kern" on !important;
912
- }
913
-
914
- .ant-select-selection-selected-value {
915
- opacity: 1;
916
- font-family: Source Han Sans;
917
- font-size: 16px;
918
- font-weight: normal;
919
- line-height: 32px;
920
- letter-spacing: 0em;
921
-
922
- font-feature-settings: "kern" on;
923
- color: #313131;
924
- }
925
- }
926
-
927
- // 单选按钮组样式
928
- :deep(.ant-radio-group) {
929
- display: inline-flex;
930
- flex-wrap: wrap;
931
- gap: 0;
932
- }
933
-
934
- :deep(.ant-radio-button-wrapper) {
935
- height: 32px;
936
- line-height: 32px;
937
- padding: 0 7px;
938
- font-family: Source Han Sans;
939
- font-size: 16px;
940
- font-weight: normal;
941
- letter-spacing: 0em;
942
-
943
- font-feature-settings: "kern" on;
944
- color: #313131;
945
- background: #fff;
946
- border: 1px solid #E5E9F0;
947
- border-radius: 0;
948
-
949
- &:first-child {
950
- border-radius: 6px 0 0 6px;
951
- }
952
-
953
- &:last-child {
954
- border-radius: 0 6px 6px 0;
955
- }
956
-
957
- &:not(:first-child)::before {
958
- display: none;
959
- }
960
-
961
- .ant-radio-button {
962
- display: none;
963
- }
964
-
965
- .ant-radio-button-input {
966
- display: none;
967
- }
968
-
969
- & > span:not(.ant-radio-button) {
970
- font-family: Source Han Sans;
971
- font-size: 16px;
972
- font-weight: normal;
973
- line-height: 32px;
974
- letter-spacing: 0em;
975
- color: #313131;
976
-
977
- font-feature-settings: "kern" on;
978
- }
979
- }
980
-
981
- :deep(.ant-radio-button-wrapper-checked) {
982
- background: #0057FE;
983
- border-color: #0057FE;
984
-
985
- & > span:not(.ant-radio-button) {
986
- color: #fff;
987
- }
988
- }
989
-
990
- // 单选框样式
991
- :deep(.ant-radio-wrapper) {
992
- height: 40px;
993
- line-height: 40px;
994
- font-family: Source Han Sans;
995
- font-size: 16px;
996
- font-weight: normal;
997
- letter-spacing: 0em;
998
- font-variation-settings: "opsz" auto;
999
- font-feature-settings: "kern" on;
1000
- color: #313131;
1001
-
1002
- .ant-radio {
1003
- width: 16px;
1004
- height: 16px;
1005
- opacity: 1;
1006
-
1007
- .ant-radio-inner {
1008
- width: 16px;
1009
- height: 16px;
1010
- background: #FFFFFF;
1011
- box-sizing: border-box;
1012
- border: 1px solid #CDCFD4;
1013
- border-radius: 50%;
1014
-
1015
- &::after {
1016
- width: 8px;
1017
- height: 8px;
1018
- background: #0057FE;
1019
- border-radius: 50%;
1020
- top: 50%;
1021
- left: 50%;
1022
- transform: translate(-50%, -50%);
1023
- }
1024
- }
1025
- }
1026
-
1027
- .ant-radio-checked {
1028
- .ant-radio-inner {
1029
- border-color: #0057FE;
1030
- }
1031
- }
1032
-
1033
- span:not(.ant-radio) {
1034
- font-family: Source Han Sans;
1035
- font-size: 16px;
1036
- font-weight: normal;
1037
- line-height: 40px;
1038
- letter-spacing: 0em;
1039
- color: #313131;
1040
-
1041
- font-feature-settings: "kern" on;
1042
- }
1043
- }
1044
- }
1045
- }
1046
- </style>