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,525 +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
- ]
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
- &.h-form-padding-50 {
210
- // ant-row-flex 样式
211
- :deep(.ant-row-flex) {
212
- padding-left: 50px;
213
- padding-right: 50px
214
- }
215
- }
216
-
217
- // 单选框样式设计图中切换模式的样式
218
- &.h-form-radio-style_1{
219
- :deep(.ant-radio-button-wrapper) {
220
- padding: 0 @radio-padding;
221
- }
222
- :deep(.ant-radio-button-wrapper-checked){
223
- background-color: #0057FE;
224
- color: white;
225
- }
226
- }
227
-
228
- // charge-form 样式
229
- &.h-form-charge-form {
230
- margin-top: 2px !important;
231
- // 定义变量
232
- @font-common: {
233
- font-family: 'Source Han Sans', sans-serif;
234
- font-size: 16px;
235
- font-weight: normal;
236
- letter-spacing: 0em;
237
- font-feature-settings: "kern" on;
238
- };
239
-
240
- @color-primary: #313131;
241
- @color-placeholder: #999999;
242
-
243
- // 定义混合宏
244
- .input-base() {
245
- width: 100%;
246
- height: 30px;
247
- line-height: 30px;
248
- vertical-align: top;
249
- margin: 0;
250
- text-align: left;
251
- color: @color-primary;
252
- opacity: 1;
253
- @font-common();
254
- }
255
-
256
- .placeholder-base() {
257
- color: @color-placeholder;
258
- opacity: 1;
259
- @font-common();
260
- }
261
-
262
- .option-group-base() {
263
- height: 30px;
264
- line-height: 30px;
265
- display: flex;
266
- align-items: center;
267
-
268
- .ant-radio-wrapper,
269
- .ant-checkbox-wrapper {
270
- height: 30px;
271
- line-height: 30px;
272
- margin-right: 16px;
273
- }
274
- }
275
-
276
- :deep(.ant-form-item) {
277
- margin-bottom: 16px;
278
- margin-top: 0;
279
- padding: 0;
280
- display: flex;
281
- align-items: center;
282
-
283
- .ant-form-item-label {
284
- text-align: left;
285
- margin: 0 11px 0 0 !important;
286
- width: 64px;
287
- min-width: 64px;
288
- max-width: 64px;
289
- flex-shrink: 0;
290
-
291
- label {
292
- height: 23px;
293
- opacity: 1;
294
- line-height: 23px;
295
- color: @color-primary;
296
- margin: 0;
297
- padding: 0;
298
- white-space: nowrap;
299
- display: block;
300
- @font-common();
301
-
302
- // 移除冒号
303
- &::after {
304
- content: '';
305
- }
306
- }
307
- }
308
-
309
- .ant-form-item-control-wrapper {
310
- margin: 0;
311
- padding: 0;
312
- flex: 1;
313
- min-width: 0;
314
- display: flex;
315
- align-items: center;
316
-
317
- .ant-form-item-control {
318
- margin: 0;
319
- padding: 0;
320
- width: 100%;
321
- text-align: left;
322
- line-height: 30px !important;
323
-
324
- // 输入框样式统一
325
- .ant-input,
326
- .ant-input-affix-wrapper,
327
- .ant-select,
328
- .ant-input-number,
329
- .ant-picker,
330
- .ant-radio-group,
331
- .ant-checkbox-group {
332
- .input-base();
333
- }
334
-
335
- // 选择器样式
336
- .ant-select {
337
- .ant-select-selector {
338
- .input-base();
339
- height: 30px;
340
- line-height: 30px;
341
-
342
- .ant-select-selection-item {
343
- .input-base();
344
- line-height: 30px;
345
- }
346
-
347
- .ant-select-selection-placeholder {
348
- .placeholder-base();
349
- line-height: 30px;
350
- color: #313131;
351
- }
352
- }
353
- }
354
-
355
- // 日期选择器样式
356
- .ant-picker {
357
- height: 30px;
358
-
359
- .ant-picker-input {
360
- height: 30px;
361
- line-height: 30px;
362
- .input-base();
363
-
364
- input {
365
- .input-base();
366
- height: 30px;
367
- line-height: 30px;
368
- }
369
- }
370
- }
371
-
372
- // 数字输入框样式
373
- .ant-input-number {
374
- height: 30px;
375
-
376
- .ant-input-number-input {
377
- .input-base();
378
- height: 30px;
379
- line-height: 30px;
380
- }
381
- }
382
-
383
- // 单选框组样式
384
- .ant-radio-group {
385
- .option-group-base();
386
- }
387
-
388
- // 复选框组样式
389
- .ant-checkbox-group {
390
- .option-group-base();
391
- }
392
- }
393
- }
394
- }
395
-
396
- // 重置可能的容器边距
397
- :deep(.ant-row) {
398
- margin: 0;
399
- padding: 0;
400
-
401
- .ant-col {
402
- margin: 0;
403
- padding: 0;
404
- }
405
- }
406
-
407
- // 强制重置所有可能的表单项样式
408
- :deep(.ant-form-item) {
409
- margin: 0 0 16px 0 !important;
410
-
411
- // 重置可能的内部边距
412
- .ant-form-item-control-input,
413
- .ant-form-item-control-input-content {
414
- margin: 0 !important;
415
- padding: 0 !important;
416
- }
417
- }
418
- }
419
-
420
- // label-text-horizontal 样式 - 只控制label文字从左到右排列
421
- &.h-form-label-text-horizontal {
422
- :deep(.ant-form-item-label) {
423
- text-align: left;
424
- direction: ltr;
425
-
426
- // 标签文字水平排列
427
- .ant-form-item-label-text {
428
- display: inline-block;
429
- text-align: left;
430
- direction: ltr;
431
- unicode-bidi: normal;
432
- }
433
-
434
- // 必填标识水平排列
435
- .ant-form-item-required::before {
436
- margin-right: 4px;
437
- margin-left: 0;
438
- }
439
- }
440
- }
441
-
442
- // label-text-justify 样式 - 标签文字两端对齐分散占满 必填*可能会有问题
443
- &.h-form-label-text-justify {
444
- :deep(.ant-form-item-label) {
445
- padding-left: 0;
446
- padding-right: 8px;
447
- label {
448
- position: relative;
449
- display: block;
450
- width: 100%;
451
- white-space: nowrap;
452
- margin: 0;
453
- text-indent: 0;
454
- text-align: justify;
455
- text-align-last: justify;
456
- text-justify: inter-ideograph;
457
- box-sizing: border-box;
458
- padding-right: 12px; // 给绝对定位的冒号留出空间
459
- }
460
- // 将冒号绝对定位到最右侧,避免参与两端对齐计算
461
- label::after {
462
- position: absolute;
463
- right: 0;
464
- }
465
- }
466
- }
467
-
468
- // label-justify 样式 - 两端对齐,应用指定字体样式
469
- &.h-form-label-justify {
470
- padding-left: 8px;
471
-
472
- :deep(.ant-form-item-label) {
473
- padding-left: 0;
474
- padding-right: 8px;
475
- // 限制label容器的宽度,强制两端对齐
476
- width: 80px !important;
477
- min-width: 80px;
478
- max-width: 80px;
479
- label {
480
- position: relative;
481
- display: block;
482
- width: 100%;
483
- white-space: nowrap;
484
- margin: 0;
485
- text-indent: 0;
486
- text-align: justify;
487
- text-align-last: justify;
488
- text-justify: inter-ideograph;
489
- box-sizing: border-box;
490
- padding-right: 12px; // 给绝对定位的冒号留出空间
491
-
492
- // 应用指定的字体样式
493
- height: 39px;
494
- opacity: 1;
495
- font-family: 'Source Han Sans', sans-serif;
496
- font-size: 16px;
497
- font-weight: normal;
498
- line-height: 39px;
499
- color: #313131;
500
- }
501
- // 去掉冒号
502
- label::after {
503
- content: '';
504
- }
505
- }
506
- }
507
-
508
- // label-font-style 样式 - 独立的label字体样式
509
- &.h-form-label-font-style {
510
- :deep(.ant-form-item-label) {
511
- label {
512
- height: 23px;
513
- opacity: 1;
514
- font-family: Source Han Sans;
515
- font-size: 16px;
516
- font-weight: normal;
517
- line-height: normal;
518
- letter-spacing: 0em;
519
- font-feature-settings: "kern" on;
520
- color: #313131;
521
- }
522
- }
523
- }
524
- }
525
- </style>