feat(admin): show merged count badge on good nodes

This commit is contained in:
yeuimu
2026-08-27 18:45:51 +08:00
parent ac3a39f40d
commit ac29a0c7bf
+15 -2
View File
@@ -172,6 +172,7 @@ function goodToNode(g: Good): any {
originGoodPrice: g.originGood?.goodPrice || null,
sdsGoodId: g.originGood?.sdsGoodId || null,
isCustom: g.originGood?.isCustom === true,
mergedCount: 1 + (g.mergedOriginGoods?.length ?? 0),
originDelisted: g.originGood?.source === 'SDS' && !activeOriginGoodIds.value.has(String(g.originGoodId)),
}
}
@@ -1629,6 +1630,7 @@ onMounted(() => loadAll())
</div>
</template>
<span class="good-name">{{ data.goodName }}</span>
<span v-if="data.mergedCount > 1" class="gv-merged-badge">×{{ data.mergedCount }}</span>
</el-tooltip>
</div>
<span class="good-actions" @click.stop>
@@ -2307,10 +2309,21 @@ onMounted(() => loadAll())
}
.good-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.good-row { display: flex; align-items: center; gap: 4px; min-width: 0; }
.good-name-col { flex: 1; min-width: 0; overflow: hidden; }
.good-name {
display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
display: inline-block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
font-size: 13px; line-height: 1.4; cursor: pointer;
max-width: calc(100% - 40px);
}
.good-name-col { flex: 1; min-width: 0; overflow: hidden; }
.gv-merged-badge {
margin-left: 4px;
padding: 0 5px;
border-radius: 8px;
background: var(--el-color-primary-light-8);
color: var(--el-color-primary);
font-size: 11px;
vertical-align: middle;
flex-shrink: 0;
}
.good-actions {
display: flex; gap: 2px; flex-shrink: 0;