vue2-client 1.18.7 → 1.18.9
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.
- package/.eslintrc.js +90 -90
- package/Components.md +60 -60
- package/docs/index.md +30 -30
- package/index.js +31 -31
- package/jest-transform-stub.js +8 -8
- package/jest.setup.js +7 -7
- package/package.json +1 -1
- package/src/assets/img/querySlotDemo.svg +15 -15
- package/src/assets/svg/female.svg +1 -1
- package/src/assets/svg/male.svg +1 -1
- package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
- package/src/base-client/components/common/CitySelect/index.js +3 -3
- package/src/base-client/components/common/CitySelect/index.md +109 -109
- package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
- package/src/base-client/components/common/CreateQuery/index.js +3 -3
- package/src/base-client/components/common/CreateQuery/index.md +42 -42
- package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
- package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
- package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
- package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
- package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
- package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
- package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
- package/src/base-client/components/common/HIS/HButtons/HButtons.vue +491 -491
- package/src/base-client/components/common/HIS/HForm/HForm.vue +32 -10
- package/src/base-client/components/common/HIS/HFormGroup/index.js +3 -3
- package/src/base-client/components/common/HIS/HTab/HTab.vue +443 -443
- package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
- package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
- package/src/base-client/components/common/PersonSetting/index.js +3 -3
- package/src/base-client/components/common/Tree/Tree.vue +149 -149
- package/src/base-client/components/common/Tree/index.js +2 -2
- package/src/base-client/components/common/Upload/index.js +3 -3
- package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
- package/src/base-client/components/common/XCard/XCard.vue +64 -64
- package/src/base-client/components/common/XCollapse/XCollapse.vue +830 -830
- package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
- package/src/base-client/components/common/XDataDrawer/index.js +3 -3
- package/src/base-client/components/common/XDataDrawer/index.md +41 -41
- package/src/base-client/components/common/XDescriptions/index.js +3 -3
- package/src/base-client/components/common/XDescriptions/index.md +83 -83
- package/src/base-client/components/common/XForm/index.md +178 -178
- package/src/base-client/components/common/XInput/XInput.vue +12 -6
- package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
- package/src/base-client/components/common/XStepView/index.js +3 -3
- package/src/base-client/components/common/XStepView/index.md +31 -31
- package/src/base-client/components/common/XTable/index.md +255 -255
- package/src/base-client/components/common/XTimeline/XTimeline.vue +477 -477
- package/src/base-client/components/his/HChart/HChart.vue +500 -53
- package/src/base-client/components/his/XHDescriptions/XHDescriptions.vue +44 -78
- package/src/base-client/components/his/XHisEditor/XHisEditor.vue +705 -705
- package/src/base-client/components/his/XList/XList.vue +938 -938
- package/src/base-client/components/his/XTimeSelect/XTimeSelect.vue +354 -354
- package/src/base-client/components/his/XTitle/XTitle.vue +314 -314
- package/src/base-client/components/his/XTreeRows/XTreeRows.vue +341 -341
- package/src/base-client/components/his/threeTestOrders/editor.vue +113 -113
- package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
- package/src/base-client/plugins/Config.js +19 -19
- package/src/base-client/plugins/tabs-page-plugin.js +39 -39
- package/src/components/Charts/Bar.vue +62 -62
- package/src/components/Charts/ChartCard.vue +134 -134
- package/src/components/Charts/Liquid.vue +67 -67
- package/src/components/Charts/MiniArea.vue +39 -39
- package/src/components/Charts/MiniBar.vue +39 -39
- package/src/components/Charts/MiniProgress.vue +75 -75
- package/src/components/Charts/MiniSmoothArea.vue +40 -40
- package/src/components/Charts/Radar.vue +68 -68
- package/src/components/Charts/RankList.vue +77 -77
- package/src/components/Charts/TagCloud.vue +113 -113
- package/src/components/Charts/TransferBar.vue +64 -64
- package/src/components/Charts/Trend.vue +82 -82
- package/src/components/Charts/chart.less +12 -12
- package/src/components/Charts/smooth.area.less +13 -13
- package/src/components/NumberInfo/NumberInfo.vue +54 -54
- package/src/components/NumberInfo/index.js +3 -3
- package/src/components/NumberInfo/index.less +54 -54
- package/src/components/NumberInfo/index.md +43 -43
- package/src/components/card/ChartCard.vue +79 -79
- package/src/components/chart/Bar.vue +60 -60
- package/src/components/chart/MiniArea.vue +67 -67
- package/src/components/chart/MiniBar.vue +59 -59
- package/src/components/chart/MiniProgress.vue +57 -57
- package/src/components/chart/Radar.vue +80 -80
- package/src/components/chart/RankingList.vue +60 -60
- package/src/components/chart/Trend.vue +79 -79
- package/src/components/chart/index.less +9 -9
- package/src/components/checkbox/ColorCheckbox.vue +157 -157
- package/src/components/index.js +36 -36
- package/src/components/input/IInput.vue +66 -66
- package/src/components/menu/SideMenu.vue +75 -75
- package/src/components/menu/menu.js +273 -273
- package/src/components/tool/AStepItem.vue +60 -60
- package/src/layouts/CommonLayout.vue +56 -56
- package/src/layouts/header/HeaderNotice.vue +177 -177
- package/src/lib.js +1 -1
- package/src/mock/extend/index.js +84 -84
- package/src/mock/goods/index.js +108 -108
- package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
- package/src/pages/system/dictionary/index.vue +44 -44
- package/src/pages/system/monitor/loginInfor/index.vue +37 -37
- package/src/pages/system/monitor/operLog/index.vue +37 -37
- package/src/pages/userInfoDetailManage/ExceptionRecordQuery/index.vue +45 -45
- package/src/services/api/cas.js +79 -79
- package/src/store/modules/setting.js +119 -119
- package/src/utils/authority-utils.js +85 -85
- package/src/utils/errorCode.js +6 -6
- package/src-base-client/components/common/HIS/HForm/HForm.vue +347 -0
- package/src-base-client/components/common/XCollapse/XCollapse.vue +0 -0
- package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
<!-- 当有 layout 配置时使用 a-descriptions -->
|
|
16
16
|
<template v-if="config && config.layout && !wrapperClassObject['xhdesc-medical-history']">
|
|
17
17
|
<a-descriptions
|
|
18
|
+
:colon="getGlobalColon()"
|
|
18
19
|
:column="config.layout"
|
|
19
20
|
:size="(config && config.style && config.style.size)"
|
|
20
21
|
:bordered="(config && config.style && config.style.bordered)"
|
|
@@ -24,14 +25,14 @@
|
|
|
24
25
|
<a-descriptions-item
|
|
25
26
|
v-for="(item) in visibleItemsFiltered"
|
|
26
27
|
:key="item.field"
|
|
27
|
-
:colon="item
|
|
28
|
+
:colon="getItemColon(item)"
|
|
28
29
|
:class="{ 'with-divider': item.isLine }">
|
|
29
30
|
<template #label>
|
|
30
31
|
<div :class="['label-wrapper', { 'with-avatar': item.showAvatar }]">
|
|
31
32
|
<div v-if="item.showAvatar" class="gender-icon">
|
|
32
33
|
<img :src="maleIcon" alt="male" class="gender-img" />
|
|
33
34
|
</div>
|
|
34
|
-
<span class="label-text">{{ item.label }}
|
|
35
|
+
<span class="label-text">{{ item.label }}</span>
|
|
35
36
|
</div>
|
|
36
37
|
</template>
|
|
37
38
|
<a-tooltip
|
|
@@ -45,7 +46,6 @@
|
|
|
45
46
|
:data-full-text="data[item.field]"
|
|
46
47
|
>
|
|
47
48
|
<template v-if="wrapperClassObject['xhdesc-report-mode']">
|
|
48
|
-
|
|
49
49
|
<div class="report-value">
|
|
50
50
|
{{ data[item.field] }}
|
|
51
51
|
</div>
|
|
@@ -64,7 +64,6 @@
|
|
|
64
64
|
:data-full-text="data[item.field]"
|
|
65
65
|
>
|
|
66
66
|
<template v-if="wrapperClassObject['xhdesc-report-mode']">
|
|
67
|
-
|
|
68
67
|
<div class="report-value">
|
|
69
68
|
{{ data[item.field] }}
|
|
70
69
|
</div>
|
|
@@ -83,13 +82,14 @@
|
|
|
83
82
|
<a-descriptions-item
|
|
84
83
|
v-for="item in hiddenItemsFiltered"
|
|
85
84
|
:key="item.field"
|
|
86
|
-
:colon="item
|
|
85
|
+
:colon="getItemColon(item)"
|
|
86
|
+
:class="{ 'with-divider': item.isLine }">
|
|
87
87
|
<template #label>
|
|
88
88
|
<div :class="['label-wrapper', { 'with-avatar': item.showAvatar }]">
|
|
89
89
|
<div v-if="item.showAvatar" class="gender-icon">
|
|
90
90
|
<img :src="maleIcon" alt="male" class="gender-img" />
|
|
91
91
|
</div>
|
|
92
|
-
<span class="label-text">{{ item.label }}
|
|
92
|
+
<span class="label-text">{{ item.label }}</span>
|
|
93
93
|
</div>
|
|
94
94
|
</template>
|
|
95
95
|
<div
|
|
@@ -98,7 +98,6 @@
|
|
|
98
98
|
:data-full-text="data[item.field]"
|
|
99
99
|
>
|
|
100
100
|
<template v-if="wrapperClassObject['xhdesc-report-mode']">
|
|
101
|
-
|
|
102
101
|
<div class="report-value">
|
|
103
102
|
{{ data[item.field] }}
|
|
104
103
|
</div>
|
|
@@ -191,7 +190,7 @@
|
|
|
191
190
|
<div v-if="item.showAvatar" class="gender-icon">
|
|
192
191
|
<img :src="maleIcon" alt="male" class="gender-img" />
|
|
193
192
|
</div>
|
|
194
|
-
<span class="label-text">{{ item.label }}
|
|
193
|
+
<span class="label-text">{{ item.label }}</span>
|
|
195
194
|
</div>
|
|
196
195
|
<a-tooltip
|
|
197
196
|
v-if="isContentOverflow(data[item.field])"
|
|
@@ -204,7 +203,6 @@
|
|
|
204
203
|
:data-full-text="data[item.field]"
|
|
205
204
|
>
|
|
206
205
|
<template v-if="wrapperClassObject['xhdesc-report-mode']">
|
|
207
|
-
|
|
208
206
|
<div class="report-value">
|
|
209
207
|
{{ data[item.field] }}
|
|
210
208
|
</div>
|
|
@@ -223,7 +221,6 @@
|
|
|
223
221
|
:data-full-text="data[item.field]"
|
|
224
222
|
>
|
|
225
223
|
<template v-if="wrapperClassObject['xhdesc-report-mode']">
|
|
226
|
-
|
|
227
224
|
<div class="report-value">
|
|
228
225
|
{{ data[item.field] }}
|
|
229
226
|
</div>
|
|
@@ -248,7 +245,7 @@
|
|
|
248
245
|
<div v-if="item.showAvatar" class="gender-icon">
|
|
249
246
|
<img :src="maleIcon" alt="male" class="gender-img" />
|
|
250
247
|
</div>
|
|
251
|
-
<span class="label-text">{{ item.label }}
|
|
248
|
+
<span class="label-text">{{ item.label }}</span>
|
|
252
249
|
</div>
|
|
253
250
|
<div
|
|
254
251
|
class="content-wrapper"
|
|
@@ -256,7 +253,6 @@
|
|
|
256
253
|
:data-full-text="data[item.field]"
|
|
257
254
|
>
|
|
258
255
|
<template v-if="wrapperClassObject['xhdesc-report-mode']">
|
|
259
|
-
|
|
260
256
|
<div class="report-value">
|
|
261
257
|
{{ data[item.field] }}
|
|
262
258
|
</div>
|
|
@@ -310,7 +306,7 @@
|
|
|
310
306
|
v-for="(item, ridx) in config.footer.rightItems"
|
|
311
307
|
:key="item.field || ridx"
|
|
312
308
|
class="footer-right-item">
|
|
313
|
-
<div class="label-wrapper"><span class="label-text">{{ item.label }}
|
|
309
|
+
<div class="label-wrapper"><span class="label-text">{{ item.label }}</span></div>
|
|
314
310
|
<div
|
|
315
311
|
class="content-wrapper"
|
|
316
312
|
:class="{ 'ellipsis': isContentOverflow(data[item.field]) }"
|
|
@@ -326,7 +322,7 @@
|
|
|
326
322
|
v-for="(item, idx) in config.footer.items"
|
|
327
323
|
:key="item.field || idx"
|
|
328
324
|
class="description-item">
|
|
329
|
-
<div class="label-wrapper"><span class="label-text">{{ item.label }}
|
|
325
|
+
<div class="label-wrapper"><span class="label-text">{{ item.label }}</span></div>
|
|
330
326
|
<div
|
|
331
327
|
class="content-wrapper"
|
|
332
328
|
:class="{ 'ellipsis': isContentOverflow(data[item.field]) }"
|
|
@@ -343,7 +339,7 @@
|
|
|
343
339
|
v-for="(item, ridx) in config.footer.rightItems"
|
|
344
340
|
:key="item.field || ridx"
|
|
345
341
|
class="footer-right-item">
|
|
346
|
-
<div class="label-wrapper"><span class="label-text">{{ item.label }}
|
|
342
|
+
<div class="label-wrapper"><span class="label-text">{{ item.label }}</span></div>
|
|
347
343
|
<div
|
|
348
344
|
class="content-wrapper"
|
|
349
345
|
:class="{ 'ellipsis': isContentOverflow(data[item.field]) }"
|
|
@@ -364,11 +360,10 @@ export default {
|
|
|
364
360
|
name: 'XHDescriptions',
|
|
365
361
|
data () {
|
|
366
362
|
return {
|
|
367
|
-
// 隐藏配置 当数据结果 = -1^ 该数据字段会被delete
|
|
368
363
|
hiddenConfig: '-1^',
|
|
369
364
|
data: null,
|
|
370
365
|
config: null,
|
|
371
|
-
showAllItems: false,
|
|
366
|
+
showAllItems: false,
|
|
372
367
|
maleIcon: require('@vue2-client/assets/svg/male.svg')
|
|
373
368
|
}
|
|
374
369
|
},
|
|
@@ -385,7 +380,6 @@ export default {
|
|
|
385
380
|
}
|
|
386
381
|
},
|
|
387
382
|
computed: {
|
|
388
|
-
// 动态样式开关(与 HForm 思路一致):布尔开关 + size 派生类
|
|
389
383
|
wrapperClassObject () {
|
|
390
384
|
const attrs = this.$attrs || {}
|
|
391
385
|
const classes = {}
|
|
@@ -408,15 +402,12 @@ export default {
|
|
|
408
402
|
})
|
|
409
403
|
const size = attrs.size
|
|
410
404
|
if (size && typeof size === 'string') classes[`xhdesc-size-${size}`] = true
|
|
411
|
-
// 展开态样式开关(用于 patient-style 动态高度)
|
|
412
405
|
if (this.showAllItems && this.config && this.config.detailsConfig) classes['xhdesc-open'] = true
|
|
413
406
|
return classes
|
|
414
407
|
},
|
|
415
|
-
// 获取详情按钮应该显示在第几个标签后
|
|
416
408
|
detailsAfterIndex () {
|
|
417
409
|
return (this.config && this.config.detailsConfig && this.config.detailsConfig.showAfterIndex) || 999
|
|
418
410
|
},
|
|
419
|
-
// 判断是否有更多标签需要显示
|
|
420
411
|
hasMoreItems () {
|
|
421
412
|
if (!(this.config && this.config.detailsConfig)) return false
|
|
422
413
|
if (!this.data || !(this.config && this.config.items) || !Array.isArray(this.config.items)) return false
|
|
@@ -430,20 +421,17 @@ export default {
|
|
|
430
421
|
}
|
|
431
422
|
return false
|
|
432
423
|
},
|
|
433
|
-
// 获取应该显示的标签
|
|
434
424
|
visibleItems () {
|
|
435
425
|
if (!(this.config && this.config.items)) return []
|
|
436
426
|
if (!(this.config && this.config.detailsConfig)) return this.config.items
|
|
437
427
|
if (this.showAllItems) return this.config.items.slice(0, this.detailsAfterIndex)
|
|
438
428
|
return this.config.items.slice(0, this.detailsAfterIndex)
|
|
439
429
|
},
|
|
440
|
-
// 获取隐藏的标签(保持原有逻辑)
|
|
441
430
|
hiddenItems () {
|
|
442
431
|
if (!(this.config && this.config.items)) return []
|
|
443
432
|
if (!(this.config && this.config.detailsConfig)) return []
|
|
444
433
|
return this.config.items.slice(this.detailsAfterIndex)
|
|
445
434
|
},
|
|
446
|
-
// 过滤后可直接渲染的可见项
|
|
447
435
|
visibleItemsFiltered () {
|
|
448
436
|
const list = this.visibleItems || []
|
|
449
437
|
if (!this.data) return []
|
|
@@ -452,7 +440,6 @@ export default {
|
|
|
452
440
|
const hiddenFields = new Set((this.hiddenItems || []).map(i => i.field))
|
|
453
441
|
return res.filter(item => !hiddenFields.has(item.field))
|
|
454
442
|
},
|
|
455
|
-
// 过滤后可直接渲染的隐藏项(仅展开时使用)
|
|
456
443
|
hiddenItemsFiltered () {
|
|
457
444
|
const list = this.hiddenItems || []
|
|
458
445
|
if (!this.data) return []
|
|
@@ -485,10 +472,24 @@ export default {
|
|
|
485
472
|
toggleDetails () {
|
|
486
473
|
this.showAllItems = !this.showAllItems
|
|
487
474
|
},
|
|
488
|
-
// 判断内容是否超过三行
|
|
489
475
|
isContentOverflow (content) {
|
|
490
476
|
if (!content || typeof content !== 'string') return false
|
|
491
477
|
return content.length > 150
|
|
478
|
+
},
|
|
479
|
+
// 获取全局 colon 配置
|
|
480
|
+
getGlobalColon () {
|
|
481
|
+
if (this.config && this.config.style && this.config.style.colon !== undefined) {
|
|
482
|
+
return this.config.style.colon
|
|
483
|
+
}
|
|
484
|
+
return true // 默认显示冒号
|
|
485
|
+
},
|
|
486
|
+
// 获取单个 item 的 colon 配置
|
|
487
|
+
getItemColon (item) {
|
|
488
|
+
// 优先级:item配置 > 全局配置 > 默认true
|
|
489
|
+
if (item && item.colon !== undefined) {
|
|
490
|
+
return item.colon
|
|
491
|
+
}
|
|
492
|
+
return this.getGlobalColon()
|
|
492
493
|
}
|
|
493
494
|
},
|
|
494
495
|
watch: {
|
|
@@ -502,10 +503,9 @@ export default {
|
|
|
502
503
|
parameter: {
|
|
503
504
|
handler (newValue, oldValue) {
|
|
504
505
|
console.log('监听事件触发:', { old: oldValue, new: newValue })
|
|
505
|
-
// 当 parameter 变化时重新获取数据
|
|
506
506
|
this.getData(this.queryParamsName, {})
|
|
507
507
|
},
|
|
508
|
-
deep: true
|
|
508
|
+
deep: true
|
|
509
509
|
}
|
|
510
510
|
}
|
|
511
511
|
}
|
|
@@ -558,8 +558,8 @@ export default {
|
|
|
558
558
|
|
|
559
559
|
.label-text {
|
|
560
560
|
white-space: nowrap;
|
|
561
|
-
color: #313131;
|
|
562
|
-
text-decoration: none !important;
|
|
561
|
+
color: #313131;
|
|
562
|
+
text-decoration: none !important;
|
|
563
563
|
}
|
|
564
564
|
|
|
565
565
|
.content-wrapper {
|
|
@@ -568,14 +568,14 @@ export default {
|
|
|
568
568
|
margin-left: 4px;
|
|
569
569
|
font-size: v-bind('(config && config.style && config.style.fontSize) || "14px"');
|
|
570
570
|
color: rgba(0, 0, 0, 0.85);
|
|
571
|
-
text-decoration: none !important;
|
|
571
|
+
text-decoration: none !important;
|
|
572
572
|
max-width: 300px;
|
|
573
573
|
overflow: hidden;
|
|
574
574
|
text-overflow: ellipsis;
|
|
575
575
|
white-space: nowrap;
|
|
576
576
|
}
|
|
577
577
|
|
|
578
|
-
/*
|
|
578
|
+
/* 强制移除任何链接样式 */
|
|
579
579
|
::v-deep a {
|
|
580
580
|
color: #313131 !important;
|
|
581
581
|
text-decoration: none !important;
|
|
@@ -597,13 +597,14 @@ export default {
|
|
|
597
597
|
}
|
|
598
598
|
|
|
599
599
|
.xhdesc-divider {
|
|
600
|
-
width: calc(100% + 24px);
|
|
600
|
+
width: calc(100% + 24px);
|
|
601
601
|
height: 0;
|
|
602
602
|
border-bottom: 1px solid #E5E9F0;
|
|
603
|
-
margin: 10px -12px 14px;
|
|
603
|
+
margin: 10px -12px 14px;
|
|
604
604
|
overflow: hidden;
|
|
605
605
|
}
|
|
606
|
-
|
|
606
|
+
|
|
607
|
+
/* medical-history 模式:左 padding 11px,右 12px */
|
|
607
608
|
.patient-info-descriptions.xhdesc-medical-history .xhdesc-divider {
|
|
608
609
|
width: calc(100% + 23px);
|
|
609
610
|
margin-left: -11px;
|
|
@@ -617,8 +618,6 @@ export default {
|
|
|
617
618
|
align-items: start; // 左上对齐
|
|
618
619
|
}
|
|
619
620
|
|
|
620
|
-
/* footer 区域的每项直接沿用通用 .description-item/.label-wrapper/.content-wrapper 样式 */
|
|
621
|
-
|
|
622
621
|
.footer-right {
|
|
623
622
|
margin-top: 8px;
|
|
624
623
|
display: flex;
|
|
@@ -757,19 +756,16 @@ export default {
|
|
|
757
756
|
.xhdesc-description {
|
|
758
757
|
padding: 4px 4px 4px 4px;
|
|
759
758
|
|
|
760
|
-
/* 作用域内 *patient-info-descriptions */
|
|
761
759
|
&.patient-info-descriptions,
|
|
762
760
|
.patient-info-descriptions {
|
|
763
761
|
border: 1px solid #E5E9F0;
|
|
764
762
|
border-radius: 6px;
|
|
765
763
|
padding: 6.5px 12px;
|
|
766
764
|
|
|
767
|
-
/* *ant-btn-link */
|
|
768
765
|
::v-deep .ant-btn-link {
|
|
769
766
|
border: none;
|
|
770
767
|
}
|
|
771
768
|
|
|
772
|
-
/* *ant-descriptions-item-content */
|
|
773
769
|
::v-deep .ant-descriptions-item-content {
|
|
774
770
|
font-weight: bold;
|
|
775
771
|
}
|
|
@@ -777,7 +773,6 @@ export default {
|
|
|
777
773
|
}
|
|
778
774
|
/* 病患信息样式开关:patient-style */
|
|
779
775
|
.xhdesc-patient-style {
|
|
780
|
-
/* 移除固定高度,改用最小高度 */
|
|
781
776
|
min-height: 41px;
|
|
782
777
|
border-radius: 6px;
|
|
783
778
|
opacity: 1;
|
|
@@ -786,8 +781,6 @@ export default {
|
|
|
786
781
|
border: 0px solid #E5E9F0;
|
|
787
782
|
padding-bottom: 0px !important;
|
|
788
783
|
width: 100%;
|
|
789
|
-
|
|
790
|
-
/* 添加响应式保障 */
|
|
791
784
|
overflow: hidden;
|
|
792
785
|
|
|
793
786
|
&.patient-info-descriptions,
|
|
@@ -795,34 +788,27 @@ export default {
|
|
|
795
788
|
border: 0px solid #E5E9F0;
|
|
796
789
|
border-radius: 6px;
|
|
797
790
|
background: #FFFFFF;
|
|
798
|
-
/* 移除固定高度 */
|
|
799
791
|
min-height: 41px;
|
|
800
792
|
display: flex;
|
|
801
793
|
align-items: center;
|
|
802
|
-
/* 允许flex换行 */
|
|
803
794
|
flex-wrap: wrap;
|
|
804
|
-
/* 添加内边距确保内容不贴边 */
|
|
805
795
|
padding: 8px 12px;
|
|
806
796
|
|
|
807
|
-
/* 标签字体(label):统一 16px,与值一致 */
|
|
808
797
|
::v-deep .label-wrapper .label-text {
|
|
809
798
|
font-family: "Source Han Sans";
|
|
810
799
|
font-size: 16px !important;
|
|
811
|
-
font-weight: 400 !important;
|
|
800
|
+
font-weight: 400 !important;
|
|
812
801
|
line-height: 23px !important;
|
|
813
802
|
letter-spacing: 0em;
|
|
814
803
|
font-feature-settings: "kern" on;
|
|
815
804
|
color: #5D5C5C;
|
|
816
|
-
/* 确保标签不换行 */
|
|
817
805
|
white-space: nowrap;
|
|
818
806
|
}
|
|
819
807
|
|
|
820
|
-
/* 头像与标签的间距 9px */
|
|
821
808
|
::v-deep .label-wrapper.with-avatar {
|
|
822
809
|
gap: 9px;
|
|
823
810
|
}
|
|
824
811
|
|
|
825
|
-
/* 性别图标样式 */
|
|
826
812
|
.gender-icon {
|
|
827
813
|
margin-top: 2px;
|
|
828
814
|
}
|
|
@@ -833,24 +819,20 @@ export default {
|
|
|
833
819
|
display: inline-block;
|
|
834
820
|
}
|
|
835
821
|
|
|
836
|
-
/* 详情箭头在文字右侧:颜色、间距、方向(不旋转) */
|
|
837
822
|
::v-deep .detail-button-wrapper .ant-btn .anticon {
|
|
838
823
|
margin-left: 4px;
|
|
839
824
|
color: #94979E;
|
|
840
825
|
opacity: 1;
|
|
841
826
|
}
|
|
842
827
|
|
|
843
|
-
/* 详情按钮文字字体规范 */
|
|
844
828
|
::v-deep .detail-button-wrapper .ant-btn,
|
|
845
829
|
::v-deep .detail-button-wrapper .ant-btn span {
|
|
846
830
|
font-family: "Source Han Sans";
|
|
847
831
|
font-size: 16px;
|
|
848
832
|
color: #5D5C5C;
|
|
849
|
-
/* 按钮不换行 */
|
|
850
833
|
white-space: nowrap;
|
|
851
834
|
}
|
|
852
835
|
|
|
853
|
-
/* 值字体(content) */
|
|
854
836
|
::v-deep .ant-descriptions-item-content,
|
|
855
837
|
::v-deep .content-wrapper,
|
|
856
838
|
.medical-history-text {
|
|
@@ -861,20 +843,16 @@ export default {
|
|
|
861
843
|
letter-spacing: 0em;
|
|
862
844
|
font-feature-settings: "kern" on;
|
|
863
845
|
color: #5D5C5C;
|
|
864
|
-
/* 允许内容换行 */
|
|
865
846
|
word-break: break-word;
|
|
866
847
|
}
|
|
867
848
|
|
|
868
|
-
/* 描述项样式调整 */
|
|
869
849
|
::v-deep .ant-descriptions-item {
|
|
870
850
|
padding-bottom: 4px;
|
|
871
|
-
/* 确保项在换行时对齐 */
|
|
872
851
|
display: flex;
|
|
873
852
|
align-items: center;
|
|
874
853
|
min-height: 32px;
|
|
875
854
|
}
|
|
876
855
|
|
|
877
|
-
/* 添加媒体查询应对更小屏幕 */
|
|
878
856
|
@media (max-width: 768px) {
|
|
879
857
|
padding: 6px 8px;
|
|
880
858
|
|
|
@@ -890,7 +868,7 @@ export default {
|
|
|
890
868
|
}
|
|
891
869
|
}
|
|
892
870
|
|
|
893
|
-
/* 展开态:patient-style
|
|
871
|
+
/* 展开态:patient-style 自适应高度 */
|
|
894
872
|
.xhdesc-patient-style.xhdesc-open,
|
|
895
873
|
.xhdesc-open .patient-info-descriptions.xhdesc-patient-style,
|
|
896
874
|
.xhdesc-open .xhdesc-patient-style .patient-info-descriptions {
|
|
@@ -909,7 +887,6 @@ export default {
|
|
|
909
887
|
padding: 0px;
|
|
910
888
|
&.patient-info-descriptions,
|
|
911
889
|
.patient-info-descriptions {
|
|
912
|
-
/* *ant-descriptions-item-content */
|
|
913
890
|
::v-deep .descriptions-container {
|
|
914
891
|
padding: 0px;
|
|
915
892
|
}
|
|
@@ -953,15 +930,15 @@ export default {
|
|
|
953
930
|
|
|
954
931
|
.medical-history-item.with-divider {
|
|
955
932
|
position: relative;
|
|
956
|
-
padding-bottom: 4px;
|
|
957
|
-
margin-bottom: 4px;
|
|
933
|
+
padding-bottom: 4px;
|
|
934
|
+
margin-bottom: 4px;
|
|
958
935
|
}
|
|
959
936
|
|
|
960
937
|
.medical-history-item.with-divider::after {
|
|
961
938
|
content: '';
|
|
962
939
|
position: absolute;
|
|
963
940
|
left: 0;
|
|
964
|
-
bottom: 0;
|
|
941
|
+
bottom: 0;
|
|
965
942
|
width: 100%;
|
|
966
943
|
height: 0;
|
|
967
944
|
border-bottom: 1px solid rgba(0, 0, 0, 0.15);
|
|
@@ -978,9 +955,7 @@ export default {
|
|
|
978
955
|
text-indent: 0;
|
|
979
956
|
padding-left: 0;
|
|
980
957
|
margin-left: 0;
|
|
981
|
-
/* 使用float实现真正的文本环绕 */
|
|
982
958
|
overflow: hidden;
|
|
983
|
-
/* 确保容器能够正确清除浮动 */
|
|
984
959
|
position: relative;
|
|
985
960
|
}
|
|
986
961
|
|
|
@@ -992,7 +967,6 @@ export default {
|
|
|
992
967
|
white-space: nowrap;
|
|
993
968
|
float: left;
|
|
994
969
|
margin-right: 0px;
|
|
995
|
-
/* 确保标签不会影响文本流 */
|
|
996
970
|
position: relative;
|
|
997
971
|
z-index: 1;
|
|
998
972
|
}
|
|
@@ -1011,7 +985,6 @@ export default {
|
|
|
1011
985
|
white-space: normal;
|
|
1012
986
|
text-align: left;
|
|
1013
987
|
line-height: 24px;
|
|
1014
|
-
/* 确保文本能够正确环绕浮动元素 */
|
|
1015
988
|
margin-top: 0;
|
|
1016
989
|
margin-bottom: 0;
|
|
1017
990
|
}
|
|
@@ -1035,21 +1008,18 @@ export default {
|
|
|
1035
1008
|
-webkit-box-align: start;
|
|
1036
1009
|
}
|
|
1037
1010
|
|
|
1038
|
-
/* 使用-webkit-line-clamp时不需要手动添加省略号 */
|
|
1039
1011
|
.medical-history-text.ellipsis::after {
|
|
1040
1012
|
display: none;
|
|
1041
1013
|
}
|
|
1042
1014
|
|
|
1043
|
-
/* 针对多行文本的特殊处理:确保换行文本与首行对齐 */
|
|
1044
1015
|
.medical-history-text.ellipsis::first-line {
|
|
1045
1016
|
text-indent: 0;
|
|
1046
1017
|
}
|
|
1047
1018
|
|
|
1048
|
-
/* 为不支持-webkit-line-clamp的浏览器提供后备方案 */
|
|
1049
1019
|
@supports not (-webkit-line-clamp: 3) {
|
|
1050
1020
|
.medical-history-text.ellipsis {
|
|
1051
1021
|
display: block;
|
|
1052
|
-
max-height: 72px;
|
|
1022
|
+
max-height: 72px;
|
|
1053
1023
|
overflow: hidden;
|
|
1054
1024
|
position: relative;
|
|
1055
1025
|
}
|
|
@@ -1065,15 +1035,13 @@ export default {
|
|
|
1065
1035
|
}
|
|
1066
1036
|
}
|
|
1067
1037
|
|
|
1068
|
-
/*
|
|
1038
|
+
/* 医疗病史样式开关 */
|
|
1069
1039
|
.patient-info-descriptions.xhdesc-medical-history {
|
|
1070
1040
|
padding: 9px 12px 10px 11px !important;
|
|
1071
|
-
/* 移除右侧空白(本模式不需要详情按钮预留空间) */
|
|
1072
1041
|
.descriptions-container {
|
|
1073
1042
|
padding-right: 0;
|
|
1074
1043
|
padding-left: 0px;
|
|
1075
1044
|
}
|
|
1076
|
-
/* 医疗病史模式下:footer 区域使用与上方相同的医疗病史样式 */
|
|
1077
1045
|
.medical-history-footer {
|
|
1078
1046
|
width: 100%;
|
|
1079
1047
|
}
|
|
@@ -1085,7 +1053,6 @@ export default {
|
|
|
1085
1053
|
gap: 16px;
|
|
1086
1054
|
width: 100%;
|
|
1087
1055
|
}
|
|
1088
|
-
/* 右侧(医生/医嘱日期)标签与值的字体要求 */
|
|
1089
1056
|
.medical-history-footer .footer-right .label-wrapper .label-text {
|
|
1090
1057
|
font-family: "Source Han Sans";
|
|
1091
1058
|
font-size: 16px;
|
|
@@ -1126,6 +1093,7 @@ export default {
|
|
|
1126
1093
|
text-align: right;
|
|
1127
1094
|
}
|
|
1128
1095
|
}
|
|
1096
|
+
|
|
1129
1097
|
/* 加边框 */
|
|
1130
1098
|
.xhdesc-border1 {
|
|
1131
1099
|
&.patient-info-descriptions,
|
|
@@ -1138,7 +1106,6 @@ export default {
|
|
|
1138
1106
|
.xhdesc-report-mode {
|
|
1139
1107
|
&.patient-info-descriptions,
|
|
1140
1108
|
.patient-info-descriptions {
|
|
1141
|
-
/* *ant-descriptions-item-content */
|
|
1142
1109
|
::v-deep .flex-descriptions{
|
|
1143
1110
|
gap: 2px;
|
|
1144
1111
|
.description-item {
|
|
@@ -1164,6 +1131,5 @@ export default {
|
|
|
1164
1131
|
text-align: end;
|
|
1165
1132
|
}
|
|
1166
1133
|
}
|
|
1167
|
-
|
|
1168
1134
|
}
|
|
1169
1135
|
</style>
|