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
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:
@@ -819,35 +819,24 @@ function releaseSize(value?: number | null): string {
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<template v-if="activeMediaScope === 'enterprise'">
|
<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">
|
<section class="enterprise-grid enterprise-grid--single">
|
||||||
<article class="panel connector-panel">
|
<article class="panel connector-panel">
|
||||||
<div class="panel-head-compact">
|
<div class="panel-head-compact">
|
||||||
<div>
|
<div>
|
||||||
<h3 class="panel-title">站点连接</h3>
|
<h3 class="panel-title">企业自建站点</h3>
|
||||||
<p class="panel-desc">绑定后可测试连通性、同步栏目和维护站点连接;文章记录请到发文管理查看。</p>
|
<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>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -882,7 +871,10 @@ function releaseSize(value?: number | null): string {
|
|||||||
<span class="site-badge site-badge--cms">
|
<span class="site-badge site-badge--cms">
|
||||||
{{ cmsTypeLabel(site.cms_type as CmsType) }}
|
{{ cmsTypeLabel(site.cms_type as CmsType) }}
|
||||||
</span>
|
</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>
|
<span class="site-badge__dot"></span>
|
||||||
{{ enterpriseSiteStatusLabel(site.status) }}
|
{{ enterpriseSiteStatusLabel(site.status) }}
|
||||||
</span>
|
</span>
|
||||||
@@ -917,7 +909,10 @@ function releaseSize(value?: number | null): string {
|
|||||||
<a-tooltip title="测试连通性" placement="top">
|
<a-tooltip title="测试连通性" placement="top">
|
||||||
<a-button
|
<a-button
|
||||||
size="middle"
|
size="middle"
|
||||||
:loading="pingEnterpriseSiteMutation.isPending.value && pingEnterpriseSiteMutation.variables.value === site.id"
|
:loading="
|
||||||
|
pingEnterpriseSiteMutation.isPending.value &&
|
||||||
|
pingEnterpriseSiteMutation.variables.value === site.id
|
||||||
|
"
|
||||||
@click="pingEnterpriseSite(site)"
|
@click="pingEnterpriseSite(site)"
|
||||||
>
|
>
|
||||||
<template #icon><ApiOutlined /></template>
|
<template #icon><ApiOutlined /></template>
|
||||||
@@ -930,8 +925,10 @@ function releaseSize(value?: number | null): string {
|
|||||||
class="action-more-btn"
|
class="action-more-btn"
|
||||||
type="text"
|
type="text"
|
||||||
:loading="
|
:loading="
|
||||||
(syncEnterpriseCategoriesMutation.isPending.value && syncEnterpriseCategoriesMutation.variables.value === site.id) ||
|
(syncEnterpriseCategoriesMutation.isPending.value &&
|
||||||
(deleteEnterpriseSiteMutation.isPending.value && deleteEnterpriseSiteMutation.variables.value === site.id)
|
syncEnterpriseCategoriesMutation.variables.value === site.id) ||
|
||||||
|
(deleteEnterpriseSiteMutation.isPending.value &&
|
||||||
|
deleteEnterpriseSiteMutation.variables.value === site.id)
|
||||||
"
|
"
|
||||||
@click.stop
|
@click.stop
|
||||||
>
|
>
|
||||||
@@ -952,11 +949,7 @@ function releaseSize(value?: number | null): string {
|
|||||||
<span>编辑站点</span>
|
<span>编辑站点</span>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-divider />
|
<a-menu-divider />
|
||||||
<a-menu-item
|
<a-menu-item key="delete" danger @click="deleteEnterpriseSite(site)">
|
||||||
key="delete"
|
|
||||||
danger
|
|
||||||
@click="deleteEnterpriseSite(site)"
|
|
||||||
>
|
|
||||||
<DeleteOutlined />
|
<DeleteOutlined />
|
||||||
<span>删除站点</span>
|
<span>删除站点</span>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
@@ -965,7 +958,10 @@ function releaseSize(value?: number | null): string {
|
|||||||
</a-dropdown>
|
</a-dropdown>
|
||||||
</div>
|
</div>
|
||||||
</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" />
|
<ExclamationCircleOutlined class="error-banner-icon" />
|
||||||
<div class="error-banner-content">
|
<div class="error-banner-content">
|
||||||
<div class="error-banner-title">连接失败诊断</div>
|
<div class="error-banner-title">连接失败诊断</div>
|
||||||
@@ -1309,9 +1305,7 @@ function releaseSize(value?: number | null): string {
|
|||||||
<a-input-password
|
<a-input-password
|
||||||
v-model:value="enterpriseSiteForm.secret"
|
v-model:value="enterpriseSiteForm.secret"
|
||||||
:placeholder="
|
:placeholder="
|
||||||
editingEnterpriseSiteId === null
|
editingEnterpriseSiteId === null ? 'PBootCMS 后台 api_secret' : '留空则保留原 Secret'
|
||||||
? 'PBootCMS 后台 api_secret'
|
|
||||||
: '留空则保留原 Secret'
|
|
||||||
"
|
"
|
||||||
/>
|
/>
|
||||||
</label>
|
</label>
|
||||||
@@ -1475,7 +1469,9 @@ function releaseSize(value?: number | null): string {
|
|||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
color: #0f172a;
|
color: #0f172a;
|
||||||
font-weight: 600;
|
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 {
|
.media-scope-tab--active .tab-icon {
|
||||||
@@ -2027,7 +2023,9 @@ function releaseSize(value?: number | null): string {
|
|||||||
border: 1px solid #e2e8f0;
|
border: 1px solid #e2e8f0;
|
||||||
border-radius: 16px;
|
border-radius: 16px;
|
||||||
background: #ffffff;
|
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);
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
max-width: 680px;
|
max-width: 680px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -2035,7 +2033,9 @@ function releaseSize(value?: number | null): string {
|
|||||||
|
|
||||||
.site-connection-card:hover {
|
.site-connection-card:hover {
|
||||||
border-color: #cbd5e1;
|
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);
|
transform: translateY(-2px);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2325,7 +2325,9 @@ function releaseSize(value?: number | null): string {
|
|||||||
border-color: #2563eb;
|
border-color: #2563eb;
|
||||||
color: #2563eb;
|
color: #2563eb;
|
||||||
background: #eff6ff;
|
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) {
|
.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;
|
border-color: #f43f5e;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
background: #f43f5e;
|
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 {
|
.connector-sample {
|
||||||
|
|||||||
Reference in New Issue
Block a user