支持91商品携带店铺编号

This commit is contained in:
yml
2026-05-27 13:30:47 +08:00
parent c1f3a48634
commit 64b663a8f6
7 changed files with 173 additions and 56 deletions
@@ -141,6 +141,13 @@
align-items: flex-start;
}
.catalog-toolbar-actions {
display: flex;
flex-wrap: wrap;
gap: var(--space-2);
justify-content: flex-end;
}
.match-checker {
display: grid;
grid-template-columns: minmax(260px, 1fr) auto;
@@ -156,6 +163,14 @@
width: 100%;
}
.sku-list-panel {
display: grid;
gap: var(--space-3);
min-width: 0;
padding-top: var(--space-2);
border-top: 1px solid var(--border-default);
}
.sku-name-cell {
display: grid;
gap: 4px;
@@ -186,7 +201,10 @@
display: grid;
gap: var(--space-4);
min-width: 0;
padding-top: var(--space-2);
padding: var(--space-4);
border: 1px solid var(--border-default);
border-radius: var(--radius-md);
background: var(--bg-subtle);
}
.override-actions {
@@ -242,6 +260,7 @@
.overview-actions,
.catalog-toolbar,
.catalog-toolbar-actions,
.override-actions {
justify-content: stretch;
}
@@ -362,14 +362,16 @@ function createRuleId() {
<main class="catalog-panel">
<div class="catalog-toolbar">
<div class="section-head">
<h3>商品列表与匹配状态</h3>
<h3>匹配状态与覆盖规则</h3>
<p v-if="selectedSource">
当前账号{{ formatSourceLabel(selectedSource) }}
</p>
</div>
<el-button :loading="skuLoading" :disabled="!selectedSourceKey" @click="loadSkuList()">
刷新商品
</el-button>
<div class="catalog-toolbar-actions">
<el-button :loading="skuLoading" :disabled="!selectedSourceKey" @click="loadSkuList()">
刷新商品
</el-button>
</div>
</div>
<el-alert
@@ -394,45 +396,6 @@ function createRuleId() {
</el-tag>
</div>
<el-table
v-loading="skuLoading"
:data="skuItems"
border
stripe
class="sku-table"
empty-text="当前账号暂无可展示商品"
>
<el-table-column label="cloudtentacles 商品" min-width="260">
<template #default="{ row }">
<div class="sku-name-cell">
<strong>{{ row.name || '-' }}</strong>
<small>#{{ row.id }} · {{ row.description || row.name || '-' }}</small>
</div>
</template>
</el-table-column>
<el-table-column label="91 自动匹配名" min-width="220">
<template #default="{ row }">
<code class="match-name">{{ row.name || '-' }}</code>
</template>
</el-table-column>
<el-table-column label="价格" width="120">
<template #default="{ row }">{{ formatCloudPrice(row.price) }}</template>
</el-table-column>
<el-table-column label="库存" prop="inventory" width="120" sortable />
<el-table-column label="发货限制" width="150">
<template #default="{ row }">
{{ row.buyLimitMin || 1 }} - {{ row.buyLimitMax || 1 }}
</template>
</el-table-column>
<el-table-column label="状态" width="120">
<template #default="{ row }">
<el-tag :type="Number(row.inventory || 0) > 0 ? 'success' : 'danger'" effect="light">
{{ Number(row.inventory || 0) > 0 ? '可履约' : '无库存' }}
</el-tag>
</template>
</el-table-column>
</el-table>
<section class="override-panel">
<div class="catalog-toolbar">
<div class="section-head">
@@ -522,6 +485,53 @@ function createRuleId() {
</article>
</div>
</section>
<section class="sku-list-panel">
<div class="section-head">
<h3>cloudtentacles 商品列表</h3>
<p>用于核对商品名库存和覆盖规则里的发货商品</p>
</div>
<el-table
v-loading="skuLoading"
:data="skuItems"
height="420"
border
stripe
class="sku-table"
empty-text="当前账号暂无可展示商品"
>
<el-table-column label="cloudtentacles 商品" min-width="260">
<template #default="{ row }">
<div class="sku-name-cell">
<strong>{{ row.name || '-' }}</strong>
<small>#{{ row.id }} · {{ row.description || row.name || '-' }}</small>
</div>
</template>
</el-table-column>
<el-table-column label="91 自动匹配名" min-width="220">
<template #default="{ row }">
<code class="match-name">{{ row.name || '-' }}</code>
</template>
</el-table-column>
<el-table-column label="价格" width="120">
<template #default="{ row }">{{ formatCloudPrice(row.price) }}</template>
</el-table-column>
<el-table-column label="库存" prop="inventory" width="120" sortable />
<el-table-column label="发货限制" width="150">
<template #default="{ row }">
{{ row.buyLimitMin || 1 }} - {{ row.buyLimitMax || 1 }}
</template>
</el-table-column>
<el-table-column label="状态" width="120">
<template #default="{ row }">
<el-tag :type="Number(row.inventory || 0) > 0 ? 'success' : 'danger'" effect="light">
{{ Number(row.inventory || 0) > 0 ? '可履约' : '无库存' }}
</el-tag>
</template>
</el-table-column>
</el-table>
</section>
</main>
</section>
</template>