|
|
@@ -16,11 +16,23 @@
|
|
|
<a-descriptions-item v-for="(item, index) in items" :key="index" v-bind="item.extraProps">
|
|
|
<template #label>
|
|
|
<slot v-if="item.labelSlot" :name="item.labelSlot"></slot>
|
|
|
- <span v-else class="dsc-label">{{ item.label }}</span>
|
|
|
+
|
|
|
+ <div v-else class="help-config">
|
|
|
+ <a-tooltip placement="top" v-if="item?.helpConfig?.enable">
|
|
|
+ <template #title>
|
|
|
+ <span>{{ item?.helpConfig.helpTip }}</span>
|
|
|
+ </template>
|
|
|
+ <QuestionCircleOutlined />
|
|
|
+ </a-tooltip>
|
|
|
+ <span class="dsc-label">{{ item.label }}</span>
|
|
|
+ </div>
|
|
|
+
|
|
|
</template>
|
|
|
|
|
|
<template v-if="item.valueSlot">
|
|
|
- <slot :name="item.valueSlot"></slot>
|
|
|
+ <div class="value_slot">
|
|
|
+ <slot :name="item.valueSlot"></slot>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
<template v-if="!item.valueSlot">
|
|
|
<div class="dsc-value">
|
|
|
@@ -103,6 +115,11 @@
|
|
|
color: #000;
|
|
|
font-weight: 500;
|
|
|
}
|
|
|
+ .help-config {
|
|
|
+ display: flex;
|
|
|
+ gap: 5px;
|
|
|
+ align-items: center;
|
|
|
+ }
|
|
|
:deep(.ant-descriptions-item-container) {
|
|
|
display: flex;
|
|
|
align-items: flex-start;
|
|
|
@@ -114,8 +131,15 @@
|
|
|
margin: 0;
|
|
|
padding: 10px 0 0 0;
|
|
|
}
|
|
|
+ :deep(.ant-descriptions-item-content) {
|
|
|
+ position: relative;
|
|
|
+ }
|
|
|
.default_slot {
|
|
|
padding: 10px 0;
|
|
|
}
|
|
|
+ .value_slot {
|
|
|
+ position: absolute;
|
|
|
+ top: -5px;
|
|
|
+ }
|
|
|
}
|
|
|
</style>
|