Compare commits
2 Commits
574e47a1d9
...
bd61de666c
| Author | SHA1 | Date | |
|---|---|---|---|
| bd61de666c | |||
| 2b329397bc |
@ -10,6 +10,7 @@
|
|||||||
*/
|
*/
|
||||||
import { ref, computed, onMounted } from 'vue'
|
import { ref, computed, onMounted } from 'vue'
|
||||||
import { useRoute, useRouter } from 'vue-router'
|
import { useRoute, useRouter } from 'vue-router'
|
||||||
|
import { Shop } from '@element-plus/icons-vue'
|
||||||
import { httpGet } from '@/utils/request'
|
import { httpGet } from '@/utils/request'
|
||||||
import PageHeader from '@/components/PageHeader/PageHeader.vue'
|
import PageHeader from '@/components/PageHeader/PageHeader.vue'
|
||||||
|
|
||||||
@ -86,6 +87,12 @@ async function load() {
|
|||||||
} catch { performanceList.value = [] }
|
} catch { performanceList.value = [] }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function goStore() {
|
||||||
|
const eid = detail.value.enterpriseId || detail.value.id
|
||||||
|
if (!eid) return
|
||||||
|
window.open(`/v2/shop/${eid}`, '_blank')
|
||||||
|
}
|
||||||
|
|
||||||
onMounted(load)
|
onMounted(load)
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@ -104,6 +111,7 @@ onMounted(load)
|
|||||||
<div class="header-main">
|
<div class="header-main">
|
||||||
<div class="header-title-row">
|
<div class="header-title-row">
|
||||||
<h2 class="ent-name">{{ detail.enterpriseName || '--' }}</h2>
|
<h2 class="ent-name">{{ detail.enterpriseName || '--' }}</h2>
|
||||||
|
<span v-for="(t, i) in tags" :key="i" class="name-tag">{{ t }}</span>
|
||||||
<el-tag v-if="STATUS_MAP[detail.status]" :type="STATUS_MAP[detail.status].type" effect="light" round>{{ STATUS_MAP[detail.status].label }}</el-tag>
|
<el-tag v-if="STATUS_MAP[detail.status]" :type="STATUS_MAP[detail.status].type" effect="light" round>{{ STATUS_MAP[detail.status].label }}</el-tag>
|
||||||
<el-tag v-if="detail.enabled === 1" type="info" effect="plain" round>已禁用</el-tag>
|
<el-tag v-if="detail.enabled === 1" type="info" effect="plain" round>已禁用</el-tag>
|
||||||
</div>
|
</div>
|
||||||
@ -112,23 +120,25 @@ onMounted(load)
|
|||||||
<span v-if="registerYear !== '--'" class="meta-item">{{ registerYear }} 成立</span>
|
<span v-if="registerYear !== '--'" class="meta-item">{{ registerYear }} 成立</span>
|
||||||
<span v-if="detail.creditCode" class="meta-item">信用代码 {{ detail.creditCode }}</span>
|
<span v-if="detail.creditCode" class="meta-item">信用代码 {{ detail.creditCode }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="tags.length" class="header-tags">
|
|
||||||
<span v-for="(t, i) in tags" :key="i" class="tag-chip">{{ t }}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="header-stats">
|
<div class="header-right">
|
||||||
<div class="stat-cell">
|
<div class="header-stats">
|
||||||
<div class="stat-value">{{ LEVEL_MAP[detail.supplierLevel as number] || '--' }}</div>
|
<div class="stat-cell">
|
||||||
<div class="stat-label">供应商等级</div>
|
<div class="stat-value">{{ LEVEL_MAP[detail.supplierLevel as number] || '--' }}</div>
|
||||||
</div>
|
<div class="stat-label">供应商等级</div>
|
||||||
<div class="stat-cell">
|
</div>
|
||||||
<div class="stat-value">{{ detail.currentScore ?? '--' }}</div>
|
<div class="stat-cell">
|
||||||
<div class="stat-label">当前评分</div>
|
<div class="stat-value">{{ detail.currentScore ?? '--' }}</div>
|
||||||
</div>
|
<div class="stat-label">当前评分</div>
|
||||||
<div class="stat-cell">
|
</div>
|
||||||
<div class="stat-value">{{ detail.enterpriseRate ?? '--' }}</div>
|
<div class="stat-cell">
|
||||||
<div class="stat-label">企业评级</div>
|
<div class="stat-value">{{ detail.enterpriseRate ?? '--' }}</div>
|
||||||
|
<div class="stat-label">企业评级</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<el-button type="primary" class="store-btn" @click="goStore" :disabled="!detail.enterpriseId && !detail.id">
|
||||||
|
<el-icon style="margin-right:6px"><Shop /></el-icon>进入店铺
|
||||||
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -290,19 +300,20 @@ onMounted(load)
|
|||||||
.logo-img { width: 100%; height: 100%; }
|
.logo-img { width: 100%; height: 100%; }
|
||||||
.logo-fallback { color: #fff; font-size: 32px; font-weight: 700; }
|
.logo-fallback { color: #fff; font-size: 32px; font-weight: 700; }
|
||||||
.header-main { flex: 1; min-width: 0; }
|
.header-main { flex: 1; min-width: 0; }
|
||||||
.header-title-row { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
|
.header-title-row { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; flex-wrap: wrap; }
|
||||||
.ent-name { font-size: 22px; font-weight: 700; margin: 0; color: var(--ink); }
|
.ent-name { font-size: 22px; font-weight: 700; margin: 0; color: var(--ink); }
|
||||||
|
.name-tag {
|
||||||
|
background: var(--primary-soft, #e0ecff); color: var(--primary);
|
||||||
|
font-size: 12px; padding: 2px 12px; border-radius: 20px; white-space: nowrap;
|
||||||
|
}
|
||||||
.header-meta { display: flex; gap: 20px; flex-wrap: wrap; color: var(--ink-2); font-size: 13px; margin-bottom: 10px; }
|
.header-meta { display: flex; gap: 20px; flex-wrap: wrap; color: var(--ink-2); font-size: 13px; margin-bottom: 10px; }
|
||||||
.meta-item::before { content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--primary); margin-right: 6px; vertical-align: middle; }
|
.meta-item::before { content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--primary); margin-right: 6px; vertical-align: middle; }
|
||||||
.header-tags { display: flex; gap: 8px; flex-wrap: wrap; }
|
.header-right { display: flex; flex-direction: column; align-items: flex-end; gap: 14px; }
|
||||||
.tag-chip {
|
|
||||||
background: var(--primary-soft, #e0ecff); color: var(--primary);
|
|
||||||
font-size: 12px; padding: 2px 12px; border-radius: 20px;
|
|
||||||
}
|
|
||||||
.header-stats { display: flex; gap: 32px; }
|
.header-stats { display: flex; gap: 32px; }
|
||||||
.stat-cell { text-align: center; }
|
.stat-cell { text-align: center; }
|
||||||
.stat-value { font-size: 20px; font-weight: 700; color: var(--ink); }
|
.stat-value { font-size: 20px; font-weight: 700; color: var(--ink); }
|
||||||
.stat-label { font-size: 12px; color: var(--ink-3); margin-top: 4px; }
|
.stat-label { font-size: 12px; color: var(--ink-3); margin-top: 4px; }
|
||||||
|
.store-btn { font-weight: 600; }
|
||||||
|
|
||||||
/* ===== Tabs ===== */
|
/* ===== Tabs ===== */
|
||||||
.tab-nav {
|
.tab-nav {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user