refactor(enterprise-site): consolidate site panel header and actions
Backend CI / Backend (push) Failing after 13m57s
Desktop Client Build / Resolve Build Metadata (push) Successful in 27s
Deployment Config CI / Deployment Config (push) Successful in 38s
Frontend CI / Frontend (push) Successful in 5m55s
Desktop Client Build / Build Desktop Client (push) Successful in 24m25s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 34s

Merge the standalone enterprise-panel intro into the connector panel
header on the tenant media view: move the "新增站点" action into the
panel head, retitle the panel to 企业自建站点, and refresh the
description copy. Presentation-only restructuring; no logic affected.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-08 11:56:30 +08:00
parent aa96143754
commit 7acb11c1ec
+47 -43
View File
@@ -819,35 +819,24 @@ function releaseSize(value?: number | null): string {
</section>
<template v-if="activeMediaScope === 'enterprise'">
<section class="panel enterprise-panel">
<div class="enterprise-panel__main">
<div class="enterprise-panel__copy">
<span class="section-kicker">站点连接管理</span>
<h3>企业自建站点</h3>
<p>
管理客户官网品牌站行业站的连接凭证和连通状态发布结果统一进入发文管理查看
</p>
</div>
<div class="enterprise-actions">
<a-button
type="primary"
class="btn-enterprise-primary"
@click="openEnterpriseSiteModal()"
>
<template #icon><PlusOutlined /></template>
新增站点
</a-button>
</div>
</div>
</section>
<section class="enterprise-grid enterprise-grid--single">
<article class="panel connector-panel">
<div class="panel-head-compact">
<div>
<h3 class="panel-title">站点连接</h3>
<p class="panel-desc">绑定后可测试连通性同步栏目和维护站点连接文章记录请到发文管理查看</p>
<h3 class="panel-title">企业自建站点</h3>
<p class="panel-desc">
管理客户官网品牌站行业站的连接凭证和连通状态发布结果统一进入发文管理查看
</p>
</div>
<div class="panel-head-actions">
<a-button
type="primary"
class="btn-enterprise-primary"
@click="openEnterpriseSiteModal()"
>
<template #icon><PlusOutlined /></template>
新增站点
</a-button>
</div>
</div>
@@ -882,7 +871,10 @@ function releaseSize(value?: number | null): string {
<span class="site-badge site-badge--cms">
{{ cmsTypeLabel(site.cms_type as CmsType) }}
</span>
<span class="site-badge" :class="`site-badge--status-${site.status || 'pending'}`">
<span
class="site-badge"
:class="`site-badge--status-${site.status || 'pending'}`"
>
<span class="site-badge__dot"></span>
{{ enterpriseSiteStatusLabel(site.status) }}
</span>
@@ -917,7 +909,10 @@ function releaseSize(value?: number | null): string {
<a-tooltip title="测试连通性" placement="top">
<a-button
size="middle"
:loading="pingEnterpriseSiteMutation.isPending.value && pingEnterpriseSiteMutation.variables.value === site.id"
:loading="
pingEnterpriseSiteMutation.isPending.value &&
pingEnterpriseSiteMutation.variables.value === site.id
"
@click="pingEnterpriseSite(site)"
>
<template #icon><ApiOutlined /></template>
@@ -930,8 +925,10 @@ function releaseSize(value?: number | null): string {
class="action-more-btn"
type="text"
:loading="
(syncEnterpriseCategoriesMutation.isPending.value && syncEnterpriseCategoriesMutation.variables.value === site.id) ||
(deleteEnterpriseSiteMutation.isPending.value && deleteEnterpriseSiteMutation.variables.value === site.id)
(syncEnterpriseCategoriesMutation.isPending.value &&
syncEnterpriseCategoriesMutation.variables.value === site.id) ||
(deleteEnterpriseSiteMutation.isPending.value &&
deleteEnterpriseSiteMutation.variables.value === site.id)
"
@click.stop
>
@@ -952,11 +949,7 @@ function releaseSize(value?: number | null): string {
<span>编辑站点</span>
</a-menu-item>
<a-menu-divider />
<a-menu-item
key="delete"
danger
@click="deleteEnterpriseSite(site)"
>
<a-menu-item key="delete" danger @click="deleteEnterpriseSite(site)">
<DeleteOutlined />
<span>删除站点</span>
</a-menu-item>
@@ -965,7 +958,10 @@ function releaseSize(value?: number | null): string {
</a-dropdown>
</div>
</div>
<div v-if="enterpriseSiteLastError(site)" class="site-connection-card__error-banner">
<div
v-if="enterpriseSiteLastError(site)"
class="site-connection-card__error-banner"
>
<ExclamationCircleOutlined class="error-banner-icon" />
<div class="error-banner-content">
<div class="error-banner-title">连接失败诊断</div>
@@ -1309,9 +1305,7 @@ function releaseSize(value?: number | null): string {
<a-input-password
v-model:value="enterpriseSiteForm.secret"
:placeholder="
editingEnterpriseSiteId === null
? 'PBootCMS 后台 api_secret'
: '留空则保留原 Secret'
editingEnterpriseSiteId === null ? 'PBootCMS 后台 api_secret' : '留空则保留原 Secret'
"
/>
</label>
@@ -1475,7 +1469,9 @@ function releaseSize(value?: number | null): string {
background: #ffffff;
color: #0f172a;
font-weight: 600;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05), 0 4px 12px rgba(15, 23, 42, 0.04);
box-shadow:
0 1px 3px rgba(0, 0, 0, 0.05),
0 4px 12px rgba(15, 23, 42, 0.04);
}
.media-scope-tab--active .tab-icon {
@@ -2027,7 +2023,9 @@ function releaseSize(value?: number | null): string {
border: 1px solid #e2e8f0;
border-radius: 16px;
background: #ffffff;
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px -1px rgba(0, 0, 0, 0.01);
box-shadow:
0 4px 6px -1px rgba(0, 0, 0, 0.02),
0 2px 4px -1px rgba(0, 0, 0, 0.01);
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
max-width: 680px;
width: 100%;
@@ -2035,7 +2033,9 @@ function releaseSize(value?: number | null): string {
.site-connection-card:hover {
border-color: #cbd5e1;
box-shadow: 0 20px 25px -5px rgba(15, 23, 42, 0.08), 0 10px 10px -5px rgba(15, 23, 42, 0.04);
box-shadow:
0 20px 25px -5px rgba(15, 23, 42, 0.08),
0 10px 10px -5px rgba(15, 23, 42, 0.04);
transform: translateY(-2px);
}
@@ -2325,7 +2325,9 @@ function releaseSize(value?: number | null): string {
border-color: #2563eb;
color: #2563eb;
background: #eff6ff;
box-shadow: 0 4px 6px -1px rgba(37, 99, 235, 0.1), 0 2px 4px -1px rgba(37, 99, 235, 0.06);
box-shadow:
0 4px 6px -1px rgba(37, 99, 235, 0.1),
0 2px 4px -1px rgba(37, 99, 235, 0.06);
}
.site-connection-card__actions :deep(.ant-btn-background-ghost.ant-btn-dangerous) {
@@ -2343,7 +2345,9 @@ function releaseSize(value?: number | null): string {
border-color: #f43f5e;
color: #ffffff;
background: #f43f5e;
box-shadow: 0 4px 6px -1px rgba(244, 63, 94, 0.2), 0 2px 4px -1px rgba(244, 63, 94, 0.1);
box-shadow:
0 4px 6px -1px rgba(244, 63, 94, 0.2),
0 2px 4px -1px rgba(244, 63, 94, 0.1);
}
.connector-sample {