diff --git a/apps/admin/src/views/goods/GoodsView.vue b/apps/admin/src/views/goods/GoodsView.vue index 84f8ffa..9ecf796 100644 --- a/apps/admin/src/views/goods/GoodsView.vue +++ b/apps/admin/src/views/goods/GoodsView.vue @@ -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()) {{ data.goodName }} + ×{{ data.mergedCount }} @@ -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;